3

有人可以告诉我禁用类中所有按钮的所有可能方法吗,我已经尝试过这个不起作用,

$("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
                }

CSS 很简单,

.myClass
{
    float: left; 
    width: 140px; 
    margin-left: 4px; 
    margin-right: 4px; 
    padding-top: 20px;
    text-align: center;
}

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>
4

7 回答 7

3

jQuery 1.6+

要更改 disabled 属性,您应该使用 .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');

引用自:堆栈问题

于 2013-03-05T10:57:20.340 回答
1

采用.prop

$("input.myClass").prop("disabled", true);

如果你想禁用 div 内的所有按钮类型输入,myClass类:

$(".myClass input[type=button]").prop("disabled", true);
于 2013-03-05T10:53:44.647 回答
1

如果你想使用attr(),使用这个:

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

或者prop()

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

关于更新的问题:

  1. 将您的脚本标签更改为<script>
  2. 将其放在页面底部(而不是在头部)
于 2013-03-05T10:55:52.450 回答
1

禁用

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

// 启用

$('input.myClass').removeAttr('disabled');

// 或者你可以将 attr 设置为 ""

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

一些 SO 链接
jQuery 禁用/启用提交按钮
JQuery - 设置属性值
.attr("disabled", "disabled") 问题
使用 jQuery 切换输入禁用属性

于 2013-03-05T10:57:01.090 回答
1

由于您询问了所有可能的方法并且常见的方法都在那里,您始终可以通过执行以下操作来防止默认:

$('input.myClass').click(function(e){
    e.preventDefault();
})

防止默认,例如防止提交表单。

于 2013-03-05T11:02:01.007 回答
1

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

于 2013-03-05T11:03:33.507 回答
0
$(".myClass :input").attr('disabled', true);

是唯一对我有用的代码。

于 2013-03-05T11:59:23.357 回答