有没有更好的方法来获取复选框值并从中创建一个字符串

时间:2012-04-28 07:36:11

标签: jquery

我有一些像这样的代码:

$('input:checkbox:checked').each(function (index) {

            indexArray.push($(this).attr("data-invoiceid"));
        });

            var postData = { values: indexArray.join(',') };

正如您所看到的,我试图获取复选框的所有invoiceid,将它们作为逗号分隔的字符串添加到post数据的values属性中。值可以设置为" 1,2,5"。

所以这个作品找到了。我想知道是否有更好的方法可以删除首先向数组添加值的步骤?

2 个答案:

答案 0 :(得分:2)

您也可以使用地图。虽然它仍然使用数组,但它更清晰,并遵循功能方法。

var indexArray = $('input:checkbox:checked').map(function () {
  return $(this).attr("data-invoiceid");
}).get().join(',');
var postData = { values: indexArray};

答案 1 :(得分:0)

试试这个:

   indexArray = "";
    $('input:checkbox:checked').each(function() {
          indexArray += $(this).data("invoiceid") + ",";
    });