我有这个
<input type="text" id="tbox" name="tbox" readonly="readonly" />
我有一个按钮,我这样做
$('#tbox').removeAttr('readonly');
我也尝试过这样做
$('#tbox').attr('readonly', false);
..但没有工作..
答案 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%正常工作