复选框代码不起作用

时间:2015-05-16 10:54:39

标签: javascript jquery html



<script>
function edit(em) {
    var ch = em.value;

    var ed = $("td.td" + ch).value;
    if ($(ed).is(: checked)) {
        $(this).show();
    } else {
        $(this).hide();
    }
}
</script>
&#13;
   
<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>        
</head>
<body>
    <input type="checkbox" value="25" onclick="edit(this)">
    <input type="checkbox" value="26" onclick="edit(this)">
    <input type="checkbox" value="27" onclick="edit(this)">
    <table>
        <tr>
            <td class="td25" value="25"><a href="#">Edit</a></td>
            <td class="td26" value="26"><a href="#">Edit</a></td>
            <td class="td27" value="27"><a href="#">Edit</a></td>
        </tr>
    </table>
</body>
</html>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

这是一个错误:

if($(ed).is(:checked))...
应该是:

if($(ed).is(':checked'))...

答案 1 :(得分:1)

以下是您要做的事情。

$('input[type="checkbox"]').click(function() { 
  var ch = this.value;
    if ($(this).is(':checked')) {
         $(".td" + ch).hide();
      }
     else
       {
         $(".td" + ch).show();
       }
 });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>        
</head>
<body>
    <input type="checkbox" value="25" >
    <input type="checkbox" value="26" >
    <input type="checkbox" value="27" >
    <table>
        <tr>
            <td class="td25" value="25"><a href="#">Edit25</a></td>
            <td class="td26" value="26"><a href="#">Edit26</a></td>
            <td class="td27" value="27"><a href="#">Edit27</a></td>
        </tr>
    </table>
</body>
</html>

答案 2 :(得分:0)

我认为你正在尝试这样做:

function edit(em) {
    var ch = em.value;

    var ed = $("td.td" + ch);
    if ($(em).is(':checked')) {
        ed.show();
    } else {
        ed.hide();
    }
}

如果那是你想要达到的目标,那么这就是你做得不对的事情:

  • 正如@yangguang所说,你错过了(':checked')
  • 的引用
  • 您想要td而不是它的价值。
  • 您正在检查td(或其值)是checked是哪个 相反,你应该为checkbox完成它。
  • $(this)是指复选框,但您想显示/隐藏td