我有三个输入字段,并且所有字段均已启用。现在,当用户在任何字段中输入文本时,其余字段应禁用。
例如,用户在名称字段中输入emp_id
和temp_id
字段disabled
,或者如果在emp_id
字段中输入,则禁用名称和temp_id,或者如果输入temp_id
禁用名称和emp_id
文本字段。
我很困惑在条件if-else
中使用逻辑。你能帮我这个忙吗?
$(document).ready(function(){
$('.disabled_field').on('keyup',function(){
if($(this).val().length >0){
// $("").prop('disabled','disabled');
}else{
// $("").removeProp('disabled','disabled');
}
});
});
<input type="text" name="name" class="disable_field" placeholder="name">
<input type="text" name="emp_id" class="disable_field" placeholder="emp_id">
<input type="text" name="temp_id" class="disable_field" placeholder="temp_id">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
答案 0 :(得分:2)
我认为input
事件更适合这种情况。根据控件的值的长度更改属性。只需使用not :not()
选择器即可禁用所有输入。
尝试以下操作:
$(document).ready(function(){
$('.disable_field').on('input',function(){
if($(this).val().length) // Checks if there is any value present or not
$('.disable_field').not(this).prop('disabled', true); // Disable all input except the current.
else
$('.disable_field').removeAttr('disabled'); // Enable all input by removing the "disabled" property from controls.
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="name" class="disable_field" placeholder="name">
<input type="text" name="emp_id" class="disable_field" placeholder="emp_id">
<input type="text" name="temp_id" class="disable_field" placeholder="temp_id">
答案 1 :(得分:1)
尝试一下。
model_permutations()
答案 2 :(得分:1)
您在这里:
$(document).ready(function() {
var inputs = $('.disable_field');
inputs.on('keyup', function() {
if (this.value.length > 0) {
inputs.filter((i, f) => f !== this).prop('disabled', true);
} else {
inputs.prop('disabled', false);
}
});
});
<input type="text" name="name" class="disable_field" placeholder="name">
<input type="text" name="emp_id" class="disable_field" placeholder="emp_id">
<input type="text" name="temp_id" class="disable_field" placeholder="temp_id">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>