Селектор jQuery: если установлен один флажок, я также хочу изменить атрибут другого флажка в той же строке на отмеченный - PullRequest
0 голосов
/ 19 ноября 2010

У меня большой стол. В каждом ряду есть два флажка. Если флажок установлен, я также хочу изменить атрибут другого флажка в той же строке на флажок.

Мой код на вставной корзине

<script language="javascript" type="text/javascript">
$(document).ready(function(){
 $(".BookTable input[name=attended]").click(function() {

     if ($(this).attr("checked") == true)
   {
         $("input").parent().parent("input[name=attended]").attr("checked","yes");
   } 
 });    
});
</script>

<table class="BookTable adj-table">
<tr>
<td>Joe</td>
<td>Bloggs</td>
<td><input name="booking" id="booking"  type="checkbox" value="1" /></td>
<td><input name="attended" id="attended"  type="checkbox" value="1" /></td>
</tr>
<tr>
<td>Dave</td>
<td>Smith</td>
<td><input name="booking" id="booking"  type="checkbox" value="1" /></td>
<td><input name="attended" id="attended"  type="checkbox" value="1" /></td>
</tr>
</table>

Пока что мне кажется, что я могу установить только все флажки.

Ответы [ 3 ]

3 голосов
/ 19 ноября 2010

Вы можете использовать .closest() для перехода на входы <tr>, а затем .find() внутри, например:

$(".BookTable :checkbox").change(function() {
  $(this).closest("tr").find(":checkbox").attr("checked", this.checked);
});

Вы можете проверить это здесь . Если вы хотите только проверять, но не снимать галочку с другого, просто добавьте туда if() , например :

$(".BookTable :checkbox").change(function() {
  if(this.checked)
    $(this).closest("tr").find(":checkbox").attr("checked", true);
});
0 голосов
/ 19 ноября 2010

У вас не может быть двух идентификаторов с одинаковым именем, вы должны сделать их классом

0 голосов
/ 19 ноября 2010
$(".BookTable :checkbox").click(function(){
    if ($(this).is(":checked"))
        $(this).parents("tr").find(":checkbox").attr("checked", "checked");
    else
        $(this).parents("tr").find(":checkbox").removeAttr("checked");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...