Изменить метку css установленного флажка - PullRequest
0 голосов
/ 15 ноября 2011

Я пытаюсь изменить CSS следующей метки с помощью JQuery, но не могу понять это. Это на самом деле HTML из моего списка checkbox (asp.net), и это то, что я до сих пор. Кто-нибудь может помочь? Спасибо.

JQuery ниже находит всю таблицу и делает все метки красными, а не только ту, которую я проверял.

$("#CheckBoxList1").click(function() {
    $(this).find('label').removeClass('red');
    if ($('span').hasClass('checked'))
        $(this).find('label').addClass('red');
});

<table id="CheckBoxList1" border="0">
  <tbody>
    <tr>
      <td>
        <div class="checker" id="uniform-CheckBoxList1_0">
          <span>
            <input id="CheckBoxList1_0" type="checkbox" name="CheckBoxList1$0" style="opacity: 0; "/>
          </span>
        </div>
        <label for="CheckBoxList1_0">Mark Park</label>
      </td>
      <td>
        <div class="checker" id="uniform-CheckBoxList1_1">
          <span>
            <input id="CheckBoxList1_1" type="checkbox" name="CheckBoxList1$1" style="opacity: 0; "/>
          </span>
        </div>
        <label for="CheckBoxList1_1">Amy Lee</label>
      </td>
      <td/>
    </tr>
  </tbody>
</table>

Ответы [ 3 ]

1 голос
/ 15 ноября 2011
$("#CheckBoxList1").click(function() {
    $(this).find('label').removeClass('red');
    $('span.checked').parent().next('label').addClass('red');
});
0 голосов
/ 15 ноября 2011

Попробуйте что-то вроде этого:

$("label[for='comedyclubs']").toggleClass("red");
0 голосов
/ 15 ноября 2011

Можете ли вы добавить класс / идентификатор к ярлыкам и флажкам и получить к нему доступ таким образом:

 $(".check").click(function() {
   var id = $(this).attr("id").split("_");
    //access array of id
   $(".label_"+id[1]).addClass("red");
 }

затем добавьте id / классы в ваш HTML:

<input id="CheckBoxList1_0" id="check_1" type="checkbox" class="check" name="CheckBoxList1$0" style="opacity: 0; "/>

<label for="CheckBoxList1_0" id="label_1">Mark Park</label>
...