0

这些是我的许多复选框,我需要在保存时抓取选定的复选框并创建一个将被保存的数组/数字字符串。

<asp:CheckBox ID="4" runat="server" ClientIDMode="Static"/>

我是否需要添加一个带有数字的值,以便我可以获得复选框的数字,以便我可以获得类似“1、4、8、9”(选中的复选框)之类的内容,或者我可以从 ID 中获取它吗?

我正在看这样的例子:

$(function(){
  $('#btnClick').click(function(){
    var val = [];
    $(':checkbox:checked').each(function(i){
      val[i] = $(this).val();
    });
  });
});

编辑:

有没有办法通过启动 ID 来专门获取复选框,而不是从页面中获取每一个复选框?

4

3 回答 3

3

您可以.push像这样在 Array 上使用:

val.push(this.id);

这是一个例子:http: //jsfiddle.net/dpMp2/3/

或者

你可以这样做:

var val = $.makeArray($(':checkbox:checked'));

有关信息makeArray可以在这里找到:http: //api.jquery.com/jQuery.makeArray/ 注意如下am not i am所述,数组将是对象,您必须从每个 obj 获取 id 或值。阅读文档以获取更多信息。

于 2012-06-21T17:46:21.720 回答
0

我会用map

$(':checkbox:checked').map(function(){ return $(this).val(); })
于 2012-06-21T17:46:57.053 回答
0

由于 val 是一个对象,因此您必须使用push函数来分配数据。

$(function(){
  $('#btnClick').click(function(){
    var val = [];
    $(':checkbox:checked').each(function(i){
      val.push($(this).val());
    });
  });
});
于 2012-06-21T17:48:55.960 回答