如何通过单击<tr>的最后<td>中的Checkbox位置取消选中<tr>内部的所有Checkbox

问题描述

|| 请为我的问题提供解决方案。 我有桌子 如果我在
<tr>
的最后一个
<td>
标记中选中复选框,则应取消选中相同
<tr>
标记的所有复选框。 我的代码现在是这样的。
var columnText = $(\'TABLE TBODY TR:first TD:last input:checkBox\').change(
   function() {
      alert(\"Hi\");  
      $(this).parents(\'tr\').find(\'input:checkBox\').attr(\'checked\',false);
});
请任何人帮助我。 :-) 谢谢。     

解决方法

尝试这个:
var columnText = $(\'table tbody tr:first td:last input[type=\"checkbox\"]\').change(function(){
  alert(\"Hi\");
  $(this).parents(\'tr\').find(\'input[type=\"checkbox\"]\').attr(\'checked\',false);
});
    ,使用.closest(选择器)@ http://api.jquery.com/closest/和$ each迭代器
$.each($(this).closest(\'tr\').find(\"td\"),function(){
   $(this).attr(\'checked\',false);
});
    ,
    $(\'table tr:first\').each(function() {
      var $el = $(this);
      $el.find(\'td:last input[type=\"checkbox\"]\').change(function() {
        if($(this).attr(\'checked\')) {
          $el.find(\'input[type=\"checkbox\"]:not(:last)\').attr(\'checked\',false); 
        }
      });
    });
    ,如果我理解正确的问题,则这是一个在td \ s中带有一些复选框的表格
<table id=\"check_test\">
<tr><td>
<input type=\"checkbox\" name=\"a\" id=\"a\" value=\"\"/><label for=\"a\">a</label>
<input type=\"checkbox\" name=\"b\" id=\"b\" value=\"\"/><label for=\"b\">b</label>
<input type=\"checkbox\" name=\"c\" id=\"c\" value=\"\"/><label for=\"c\">last</label>
</td></tr>
<tr><td>
<input type=\"checkbox\" name=\"d\" id=\"d\" value=\"\"/><label for=\"d\">d</label>
<input type=\"checkbox\" name=\"e\" id=\"e\" value=\"\"/><label for=\"e\">e</label>
<input type=\"checkbox\" name=\"f\" id=\"f\" value=\"\"/><label for=\"f\">last</label>
</td></tr>
</table>
在选中最后一个复选框时自动选中td中的所有复选框:
$(document).ready(function() {
    $(\"#check_test td\").find(\"input:last\").change(function()                    
        $(this).parent().find(\":checkbox\").attr(\'checked\',true);
    });
});