使用jQuery禁用输入不起作用

时间:2010-06-01 17:34:12

标签: javascript jquery html input

我正在尝试使用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');

任何帮助都会被贬低, 感谢

4 个答案:

答案 0 :(得分:1)

使用true代替disabled

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

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

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

答案 1 :(得分:1)

这应该可以解决问题:

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

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

答案 2 :(得分:0)

您的代码似乎没问题,因此问题必须来自代码的另一部分。在您禁用的行上暂停,然后逐步运行。

答案 3 :(得分:0)

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

 <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" />