禁用 jQuery 的输入不起作用

发布于 2024-09-03 13:52:48 字数 794 浏览 3 评论 0原文

我正在尝试使用 jQuery 1.4.2 禁用某些输入字段。这是 HTML 代码的一部分:

<input type="text" disabled="disabled" name="nume" value="Text" />

这是 Javascript:

$('.salveaza').live('click', function(e){
    $.get(ajaxURL, $('form', itemCurent).serialize()+'&id='+itemCurent.data('id')+'&optiune=editeaza-categorie');

    // This is the code for disabeling inputs
    $('input', itemCurent).attr('disabled', 'disabled');

    itemCurent.removeClass('curent');
    $('.optiuniEditeaza', itemCurent).remove();

    e.preventDefault(); 
});

上面的代码不起作用。请注意,输入是用 jQuery 添加的,这就是我使用 live 的原因,我尝试了各种东西。

我还尝试使用 firebug 控制台禁用页面上的所有输入字段,但它不起作用:

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

任何帮助将不胜感激, 谢谢

I am trying to disable some input fields using jQuery 1.4.2. This is a part of the HTML code:

<input type="text" disabled="disabled" name="nume" value="Text" />

This is the Javascript:

$('.salveaza').live('click', function(e){
    $.get(ajaxURL, $('form', itemCurent).serialize()+'&id='+itemCurent.data('id')+'&optiune=editeaza-categorie');

    // This is the code for disabeling inputs
    $('input', itemCurent).attr('disabled', 'disabled');

    itemCurent.removeClass('curent');
    $('.optiuniEditeaza', itemCurent).remove();

    e.preventDefault(); 
});

The above code doesn't work. Note that the inputs are added with jQuery, that's why I am using live, I tried all sorts of stuff.

I also tried firebug console to disable all input fields on the page and it's not working:

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

Any help will be apreciated,
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

烙印 2024-09-10 13:52:48

这应该可以解决问题:

禁用:$('#the-field-id').attr('disabled', true);

启用:$('#the-field-id ').removeAttr('已禁用');

This should do the trick:

Disable: $('#the-field-id').attr('disabled', true);

Enable: $('#the-field-id').removeAttr('disabled');

金兰素衣 2024-09-10 13:52:48

使用 true 而不是 disabled

$("input").attr("disabled", true);

工作示例:
http://jsfiddle.net/bEC8L/(输入设置为5秒后禁用)

jQuery设置属性如果给定属性实际上是属性名称,并且 "disabled" 不是 disabled 属性的有效值,则使用属性代替属性。

Use true instead of disabled:

$("input").attr("disabled", true);

Working example:
http://jsfiddle.net/bEC8L/ (input is set to disable after 5 seconds)

jQuery sets properties instead of attributes if the given attribute is actually a property name, and "disabled" isn't a valid value for the disabled property.

小…楫夜泊 2024-09-10 13:52:48

你的代码看起来没问题,所以问题一定来自代码的另一部分。在禁用的行上打一个断点,然后逐步运行。

Your piece of code seems ok, so the problem must be coming from another part of code. Put a break on the line where you disable and then run step by step.

A君 2024-09-10 13:52:48

试试这个代码。单击按钮时,文本框将被禁用。

 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $("#fname").attr("disabled",false);
        $("#idDisable").click(function(){

            $("#fname").attr("disabled",true);

        });

    });
</script>

    <input type="button" id="idDisable" value="click to disable" name="Click"/>
    <input type="text" id="fname" />

Try this code. Onclick of button the textbox will be disabled.

 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $("#fname").attr("disabled",false);
        $("#idDisable").click(function(){

            $("#fname").attr("disabled",true);

        });

    });
</script>

    <input type="button" id="idDisable" value="click to disable" name="Click"/>
    <input type="text" id="fname" />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文