Javascript 在css类中禁用控件的不同方法

Javascript 在css类中禁用控件的不同方法,javascript,jquery,css,webforms,Javascript,Jquery,Css,Webforms,有人能告诉我禁用类中所有按钮的所有可能方法吗?我已经试过了,但不起作用 $("input.myClass").attr('disabled', true); 这就是我使用它的方式 <script type="text/javascript"> $(document).ready(function() { var objA = $get('<%= checkbox.ClientID %>'); $

有人能告诉我禁用类中所有按钮的所有可能方法吗?我已经试过了,但不起作用

$("input.myClass").attr('disabled', true);
这就是我使用它的方式

    <script type="text/javascript">
        $(document).ready(function() {

            var objA = $get('<%= checkbox.ClientID %>');

            $(objA).change(function() {

                if($(this).is(':checked'))
                {  
                    $(".anotherClass").sortable('disable'); //works
                    $("input.myClass").prop('disabled', 'disabled'); //doesn't work
                }
HTML看起来像这样

    <div class="myClass">
        <asp:Button ID="btn1" Text="bbb" runat="server" CausesValidation="False" CssClass="button" OnClientClick="return false;" />
        <asp:Button ID="btn2" Text="aaa" runat="server" CausesValidation="False" CssClass="button" OnClientClick="return false;" />
        <asp:Button ID="btn3" runat="server" CausesValidation="False" CssClass="button" OnClick="bt_Click" />
    </div>

使用

如果要使用
myClass
class禁用div中的所有按钮类型输入:

$(".myClass input[type=button]").prop("disabled", true);

如果要使用
attr()
,请使用以下命令:

$("input.myClass").attr('disabled', 'disabled');
prop()

关于更新的问题:

  • 将脚本标记更改为
  • 将其放在页面底部(不在页眉部分)
  • 禁用

    $('input.myClass').attr('disabled', 'disabled');
    
    //使能

    $('input.myClass').removeAttr('disabled');
    
    //或者您可以将attr设置为“”

    有些是这样的链接



    jQuery 1.6+

    要更改禁用的属性,应使用.prop()函数

    $("input.myclass").prop('disabled', true);
    $("input.myclass").prop('disabled', false);
    
    jQuery 1.5及以下版本

    .prop()函数不存在,但.attr()具有类似的功能:

    设置禁用属性

    $("input.myclass").attr('disabled','disabled');
    
    再次启用

    $("input.myclass").removeAttr('disabled');
    

    引用自:

    由于您询问了所有可能的方法,并且常见的方法都存在,因此您可以通过执行以下操作始终防止出现默认情况:

    $('input.myClass').click(function(e){
        e.preventDefault();
    })
    
    防止默认设置,例如,防止提交表单。

    您可以使用$(“input[type='button']).attr(“disabled”、“disabled”);禁用所有按钮

    $(".myClass :input").attr('disabled', true);
    

    是唯一对我有效的代码。

    你能创建一个JSFIDLE吗?这完全取决于你所说的“在类中”是什么意思。很多解释都是可能的。在看到HTML。。。。正如我所怀疑的,“在一个类中”意味着“在一个可由类选择的容器中”!查看此链接@Shekhar我看不到myClass的disabled属性可见的只有
    myClass
    应用于容器,因此
    $(“.myClass input”).prop('disabled',true)
    
    $("input.myclass").attr('disabled','disabled');
    
    $("input.myclass").removeAttr('disabled');
    
    $('input.myClass').click(function(e){
        e.preventDefault();
    })
    
    $(".myClass :input").attr('disabled', true);