大佬教程收集整理的这篇文章主要介绍了jquery – 单击关联标签时选中复选框,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<input id="CheckBox1" type="checkBox" /></div> <label id="lblAssociateWithCheckBox" title="Check"></label>
在JQuery中我尝试:
$(document).ready(function() { CheckCheckBox($('lblAssociateWithCheckBox'),$('CheckBox1')); function CheckCheckBox(lblID,chkID) { $('#' + lblID).live("click",function() { return $('#' + CheckBox1).attr('checked','checked'); }); } });
但它不起作用.我在firebug中出错了.
未捕获的异常:语法错误,无法识别的表达式:#[object Object]
<span data-labelfor="name">Name</span> <input type="checkBox" id="name">
然后,您可以使用一些通用jQuery设置单击处理程序,以选择具有该属性的所有元素:
$(document).ready(function() { $("[data-labelfor]").click(function() { $('#' + $(this).attr("data-labelfor")).prop('checked',function(i,oldVal) { return !oldVal; }); }); });
工作演示,显示一个简短的函数将行为应用于跨度标签和div:http://jsfiddle.net/TFD72/
原始答案:
正如Pavan已经解释的那样,您可以使用标签中的for属性自动执行此操作,但是为什么您的代码不起作用:
您对CheckCheckBox()函数的调用是将两个jQuery对象作为参数传递,如下所示:
CheckCheckBox($('lblAssociateWithCheckBox'),$('CheckBox1'));
但是该函数将这些参数视为包含要处理的元素的ID的字符串.因此,如果您想保持您的功能,只需更改您调用它以传递正确类型的参数的方式:
CheckCheckBox('lblAssociateWithCheckBox','CheckBox1');
但是,您的功能将在标签的每次单击时将复选框设置为“已选中”,即使它已被选中.如果您希望它在已检查和未检查之间切换(即正常行为),您可以执行以下操作:
$('#' + CheckBox1).prop('checked',oldVal) { return !oldVal; });
以上是大佬教程为你收集整理的jquery – 单击关联标签时选中复选框全部内容,希望文章能够帮你解决jquery – 单击关联标签时选中复选框所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。