javascript - prop({disabled:false})在chrome上不起作用
本文介绍了javascript - prop({disabled:false})在chrome上不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
我用火狐可以把禁用的多选框开启,但是换到chrome就不行了,一直都是锁住的(我默认就是锁住的)。请问怎么可以在Chrome上把禁用的复选框开启?我试了几种方法都不行,jq版本是1.11.3的
这是我的程序(当下拉列表的val值为4、5和请选择的时候让复选框禁用,其他值的时候开启):
$("option").click(function(){
var value = $(this).val();
if(value == "5" || value == "4"||value == "请选择"){
$(".addition").prop("disabled",true);
$("#evaluate_table :checkbox").prop("disabled",true);
// $(".addition").prop({disabled:true});
// $("#evaluate_table :checkbox").prop({disabled:true});
value = "";
}
else{
// $(".addition").prop("disabled",false);
// $("#evaluate_table :checkbox").prop("disabled",false);
$(".addition").removeProp("disabled");
$("#evaluate_table :checkbox").removeProp("disabled");
// $(".addition").prop({disabled:false});
// $("#evaluate_table :checkbox").prop({disabled:false});
value = "";
}
})
解决方案
最后还是自己找到了根源所在。。谷歌内核的浏览器option都不支持click事件。。我看网上说ie也不支持,但是我用ie测试是好的,可能是之前版本的ie吧,但是谷歌是真不支持。。。
把给option的click事件换成给select的change事件,查select的值的改变就行了,改的新版本如下:
$("#evaluate_select").change(function(){
var val = $(this).val();
alert(val);
if(val == "5" || val == "4"||val == "0"){
$(".addition").prop("disabled",true);
$("#evaluate_table :checkbox").prop("disabled",true);
val = "";
}
else{
$(".addition").prop("disabled",false);
$("#evaluate_table :checkbox").prop("disabled",false);
val = "";
}
})
这篇关于javascript - prop({disabled:false})在chrome上不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文