问候, 如何使用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);
});
}
答案 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.
});
我没有测试过这个,但它就像这段代码。我希望它可以帮到你