javascript - prop({disabled:false})在chrome上不起作用

查看:662
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆