我有一个表。内部表我有一些文本框。我想禁用所有文本框 在输入一个之后使用相同的名称。 用jquery怎么做? 我在下面的选择框中使用了同样的东西。
<script>
$(document).ready(function(){
$('select[name*="course"]').live('change', function() {
$('select[name*="course"] option').attr('disabled',false);
// loop each select and set the selected value to disabled in all other selects
$('select[name*="course"]').each(function(){
var $this = $(this);
$('select[name*="course"]').not($this).find('option').each(function(){
if($(this).attr('value') == $this.val())
$(this).attr('disabled',true);
});
});
});
});
</script>
But i want to do it for textboxes.How to do?
答案 0 :(得分:3)
设置change
事件,检查长度。如果有长度,请禁用具有相同名称的所有其他长度:
$("table input:text").change(function() {
if (this.value.length > 5) {
$("table").find("input:text[name=" + this.name + "]").not(this).prop("disabled", true);
}
});
编辑:接受@ adeneo的建议!
答案 1 :(得分:1)
在文本字段更改:
$('input[type=text]').on('change', function () {
var disable = $(this).val().trim().length > 0; // only disable if something has been entered
var textBoxName = this.name; // get the name of the current textbox
$('input[name='+textBoxName+']') // select all textboxes /w same name
.not(this) // except for the current ont
.prop('disabled', disable); // and set them disabled
});