jquery选中复选框IE问题
我在validation是否在Internet Explorer上使用jquery检查了复选框时遇到问题。 这是我正在使用的代码:
if ($('#chkjq_1').attr('checked') == true)
它在Firefox或Chrome上运行正常,但在Internet Explorer 7上,条件始终为false,因为浏览器以这种方式设置属性:
IE7
正确的方法如下:(Firefox,Chrome):
FF, Chrome, etc
我应该怎么做才能在Internet Explorer 7上避免此问题; 在jquery中有一个通用的方法来解决这个问题吗?
提前致谢。
试试这个:
if ($('#chkjq_1').is(':checked')) { // more code }
我唯一能够始终如一地工作就是这样测试:
if ($('#chkjq_1').is('[CHECKED]'))
使用IE上的选择器上的所有大写字母在打开开发人员工具时呈现它。 据我所知,跨浏览器可以正常工作。 .is(’:checked’)对我来说不匹配(使用JQuery 1.7.1)。 在多种模式下使用IE 7和IE 8进行测试。 其他浏览器(Firefox,Safari测试)似乎并不在意。
IE中的“更改”复选框事件被奇怪地触发。
这可以解决为: – 1.)将输入复选框的onclick事件绑定到要触发的所需目标函数2.)在目标函数中,通过检查“checked”属性来检查复选框的状态 –
if ($('#chkBox').attr("checked") == "checked"){ // do something ----or .attr("checked", "checked"); ---for another checkbox }else{ // do something else ----or .removeAttr("checked"); ---for another checkbox }