<label> <input type="checkbox" value="0"> item 1</label>
在不使用JS 控制时,点击label 或 input 页面都能得到正确的显示 checkbox状态【勾选/取消勾选】
但是使用了以下代码控制时就出现问题了
$("label").toggle(
        function(){ alert('a');  $("input").attr("checked",true); },
        function(){ alert('b');  $("input").attr("checked",false); }
);状况如下
    点击label范围,页面显示的checkbox状态是正确的。
    点击 <input type="checkbox" value="0">,输出的alert 是正确的,但复选框却始终不显示勾选的状态。
这是怎么回事?

解决方案 »

  1.   

    举个 例子吧: <input type='checkbox' id='chkAll' ><label for='chkAll'>全选</label> 这样就达到你要的效果了吧、  label 要设置 for 属性 指向你要的 checkbox ID
      

  2.   

    <label>item 1</label><input type="checkbox" value="0"/> label写在input之前就行了
      

  3.   

    先谢谢两位,但是不是我想要的结果
    我这样布局是有用意的<label> <input type="checkbox" value="0"> item 1</label>只有这样做点击 lable 的内容时才会自动激活或取消 checkbox的勾选。按照楼上两位朋友的布局 ,点击<label>item 1</label> 不会 勾选或取消  checkbox。
    反正问题已经解决了,那就结贴吧
      
      

  4.   

    <label>item 1</label><input type="checkbox" value="0"/> label写在input之前就行了