禁用 jQuery 的输入不起作用
我正在尝试使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这应该可以解决问题:
禁用:
$('#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');
使用
true
而不是disabled
:工作示例:
http://jsfiddle.net/bEC8L/(输入设置为5秒后禁用)
jQuery设置属性如果给定属性实际上是属性名称,并且
"disabled"
不是disabled
属性的有效值,则使用属性代替属性。Use
true
instead ofdisabled
: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 thedisabled
property.你的代码看起来没问题,所以问题一定来自代码的另一部分。在禁用的行上打一个断点,然后逐步运行。
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.
试试这个代码。单击按钮时,文本框将被禁用。
Try this code. Onclick of button the textbox will be disabled.