jQuery readonly属性问题

时间:2009-09-14 09:03:51

标签: jquery

我有这个

<input type="text" id="tbox" name="tbox" readonly="readonly" />

我有一个按钮,我这样做

$('#tbox').removeAttr('readonly');

我也尝试过这样做

$('#tbox').attr('readonly', false);

..但没有工作..

4 个答案:

答案 0 :(得分:13)

当使用jQuery的文档对象的ready事件加载DOM时,您需要执行此操作。这是一个Working Demo

$(document).ready(function() {

    $('#tbox').removeAttr('readonly');

});

或简写

$(function() {

    $('#tbox').removeAttr('readonly');

});

修改

我刚刚在one of your other questions上看到$()无法正常工作但是当您使用jQuery()时,您的代码才有效。这表明与$函数存在冲突,很可能是由于页面上也使用了另一个JavaScript框架,也使用了$简写。你可以

1-使用jQuery的noConflict()来解决这个问题。您可以将jQuery选择器函数分配给其他别名。

2-在代码中使用jQuery()代替$()

3-将你的jQuery代码包装在一个自我调用的匿名函数中,该函数仍允许你使用$()简写为其中的jQuery选择器

(function($) {

    $(function() {

        $('#tbox').removeAttr('readonly');

    });

})(jQuery);

这是一个匿名函数,它接受一个参数$并立即执行,传入jQuery作为该参数的参数。

答案 1 :(得分:2)

阅读jetlogs

上的文章

这里的区别在于他们做了

<input type="text" id="tbox" name="tbox" readonly />

然后

$('#tbox').removeAttr('readonly');

应该有用。

答案 2 :(得分:2)

我知道这是现在的2010年12月,但我在阅读这篇文章时,正在搜索使用JQuery在表单的文本框中设置和删除READONLY。我发现并使用了这个:

`$('#id-name')。attr('readonly',true); //使它成为只读

$('#id-name')。attr('readonly',false); //使其可编辑。

答案 3 :(得分:0)

    <input type="submit"  id="btn1" onclick="setTimeout(disablefunction, 1);">

    add function of java script
        <script type="text/javascript" >


        function disablefunction() 
        {
            $('#btn1').attr('disabled',true)
        }


        </script>

我相信这将100%正常工作