如何使用jquery从checkboxlist控件获取复选框的选定索引?

时间:2010-05-21 17:01:33

标签: jquery checkboxlist

问候, 如何使用jquery从checkboxlist控件中获取复选框的selectedindex?

更新

这段代码给我选择的索引等于0,请提示

<asp:CheckBoxList ID="chkListGroups" runat="server" 
                    style="position:absolute; top: 1115px; left: 745px; bottom: 371px;" 
                    DataSourceID="SqlDSGroups" DataValueField="Groups" 
                    onclick="test()">
                </asp:CheckBoxList>


....................
java script function
.....................
  function test(){
  $('#<%=chkListGroups.ClientID %>').click(function() {
                var selectedIndex = $('#<%=chkListGroups.ClientID %>').index($(this));


                alert(selectedIndex);


            });
        }

3 个答案:

答案 0 :(得分:6)

为集合使用选择器,然后将index与您感兴趣的元素一起使用,这里是检查的元素。

var checkboxes = $('input:checkbox');
var selectedIndex = checkboxes.index(checkboxes.find(':checked'));

要获取单击复选框的索引,请使用:

$('input:checkbox').click( function() {
    var selectedIndex = $('input:checkbox').index( $(this) );
    ... now do something with it...
});

编辑:根据您的代码示例:

var checkboxes = $('#<%=chkListGroups.ClientID %>').find('input:checkbox');
checkboxes.click(function() { 
    var selectedIndex = checkboxes.index($(this)); 
    alert(selectedIndex); 

});  

答案 1 :(得分:0)

如果你需要最后一个选中复选框的索引

var query = (from o in CheckBoxList1.Items.OfType<ListItem>()  
                     where o.Selected  
                     select o).Take(1).Reverse().ToList();   

答案 2 :(得分:0)

get value: $("input:checked").val();
get id: $("input:checked").attr('id');

//or this:
var counter=0;
$('input:checkbox').each(function(){
   if($(this).is(":checked"))
   {
     var Index = counter;
   }
   else{
     counter++;
   }

   //So Index is what you want.
});

我没有测试过这个,但它就像这段代码。我希望它可以帮到你