Как получить выбранный индекс флажок из элемента управления checkboxlist с помощью jquery? - PullRequest
2 голосов
/ 21 мая 2010

Привет, Как получить выбранный индекс флажка из элемента управления checkboxlist с помощью jquery?

Обновление:

Этот код дает мне выбранный индекс, равный 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 ]

6 голосов
/ 21 мая 2010

Используйте селектор для коллекции, затем используйте индекс для интересующего вас элемента, здесь тот, который отмечен.

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); 

});  
0 голосов
/ 21 мая 2010
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.
});

Я не проверял это, но это что-то вроде этого кода.Я надеюсь, что это поможет вам

0 голосов
/ 21 мая 2010

нравится, если вам нужен индекс последнего выбранного флажка

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