我有许多文本框只有在完成某些操作时才需要启用,例如从下拉菜单或复选框中选择它。为此,我想在我第一次打开表单时禁用所有文本框。我需要使用一个函数来完成,这个函数只会禁用我想在开始时禁用的文本框。我怎么能这样做?
答案 0 :(得分:6)
<input name="" type="text" class="init" disabled="disabled"/>
<input name="" type="text" class="init" disabled="disabled"/>
<input name="" type="text" class="init" disabled="disabled"/>
这将禁用加载中的所有文本框
$(document).ready(function() {
$('.init').attr('disabled','disabled');
});
您也可以通过选择
选项启用文本框<select name="list" id="list">
<option value="">select</option>
<option value="0">opt1(enable first text)</option>
<option value="1">opt2(enable second text)</option>
<option value="2">opt3(enable third text)</option>
</select>
脚本
$('#list').change(function(){
var value =$(this).val();
$('.init:eq('+value+')').removeAttr("disabled");
return false;
});
答案 1 :(得分:0)
您可以使用此代码禁用所有带有jQuery awesomeness的textareas。
<script type="text/javascript" src="PATH-to-JQUERY"></script>
<script>
$(document).ready(function(){
// loop through each textarea
$('textarea').each(function(){
// set it to disabled
$(this).attr('disabled', 'disabled');
});
});
</script>
要启用textarea,只需使用$('#TEXTAREA-ID-HERE').removeAttr('disabled');
答案 2 :(得分:0)
以下(纯)Javascript函数将禁用所有文本框:
function disableTextboxes() {
var inputs=document.getElementsByTagName('input');
for(var i=0;i<inputs.length;i++) {
if(inputs[i].type=='text') {
inputs[i].disabled=1;
}
}
}
答案 3 :(得分:0)
使用jQuery可以轻松禁用/启用表单字段(或隐藏)
要考虑的事项,如果禁用所有字段,用户将如何与表单交互以启用其他表单字段?不确定这是不是你的意图,当然不是!
下面的代码显示了如何禁用所有字段(您可以更改此字段以禁用特定字段)以及如何根据字段输入显示/隐藏
$(document).ready(function() {
//disable ALL fields
$("#theId :input").attr("disabled", true);
//specific form field value to show/hide something
$("#exampleId").change(function () {
if ($(this).val() == 'Other'){
$('#exampleIdHolder').show();
} else {
$('#exampleIdHolder').hide();
}
});
});