jQuery中的逗号分隔列表
Posted
技术标签:
【中文标题】jQuery中的逗号分隔列表【英文标题】:Comma separated list in jQuery 【发布时间】:2011-08-13 06:36:54 【问题描述】:我正在尝试根据表单上检查的内容创建一个逗号分隔的列表。
var $StateIDs = $(':checked');
var StateIDs = '';
for (i=0, j = $StateIDs.length; i < j; i++)
StateIDs += $StateIDs[i].val();
if (i == j) break;
StateIDs += ',';
可能有一个 1-liner 可以做到这一点,或者一个函数。
【问题讨论】:
【参考方案1】:map() 将成为你的朋友。
var StateIDs = $(':checked').map(function()
return this.value;
).get().join(',');
StateID 将是一个逗号分隔的字符串。
分步说明 - 发生了什么?
$(':checked')
// Returns jQuery array-like object of all checked inputs in the document
// Output: [DOMElement, DOMElement]
$(':checked').map(fn);
// Transforms each DOMElement based on the mapping function provided above
// Output: ["CA", "VA"] (still a jQuery array-like object)
$(':checked').map(fn).get();
// Retrieve the native Array object from within the jQuery object
// Output: ["CA", "VA"]
$(':checked').map(fn).get().join(',');
// .join() will concactenate each string in the array using ','
// Output: "CA,VA"
【讨论】:
约翰,我还有一个问题:这个人是谁?答:你是! 您太客气了,祝您周二愉快! 这个答案应该是回答所有 SO 问题的模型。感谢您的努力,非常感谢。【参考方案2】:var ids = '';
$(':checked').each(function()
ids += $(this).val() + ',';
);
瞎写,所以没测试过。
【讨论】:
蒂姆,等我能从你手里抢走鹅卵石,我就该离开了。【参考方案3】:$.each([52, 97], function(index, value)
alert(index + ': ' + value);
);
【讨论】:
【参考方案4】:检查second answer here。它为您提供了非常简化的代码,准确地说明了您正在做什么。
【讨论】:
以上是关于jQuery中的逗号分隔列表的主要内容,如果未能解决你的问题,请参考以下文章