逗号在jQuery中分隔列表

时间:2011-04-26 18:22:01

标签: jquery html serialization checkbox

我正在尝试从表单上检查的内容创建逗号分隔列表。

var $StateIDs = $(':checked');
var StateIDs = '';
for (i=0, j = $StateIDs.length; i < j; i++) {
    StateIDs += $StateIDs[i].val();
    if (i == j) break;
    StateIDs += ',';
}

可能有一个单行程序可以执行此操作,或单个功能。

4 个答案:

答案 0 :(得分:60)

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"

答案 1 :(得分:3)

var ids = '';
$(':checked').each(function(){
    ids += $(this).val() + ',';
});

写盲,所以我没有测试过。

答案 2 :(得分:2)

$.each([52, 97], function(index, value) { 
  alert(index + ': ' + value); 
});

答案 3 :(得分:1)

检查second answer here。它为您准确地提供了简洁的代码。