我正在尝试使用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');
任何帮助都会被贬低, 感谢
答案 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" />