У меня есть код html следующим образом:
<body>
<ul>
<div id="branch" class="leaf">
<label class="control select" title>
<span class="wrap">Select Branch</span>
<select>
<option value"~Nothing~" selected="selected">---</option>
<option value="ALL">ALL</option>
<option value="A1">A1</option>
<option value="A2">A2</option>
</select>
<span class="warning"</span>
</label>
</div>
<div id="Product" class="leaf">
<label class="control select" title>
<span class="wrap">Select Product</span>
<select>
<option value"~Nothing~" selected="selected">---</option>
<option value="ALL">ALL</option>
<option value="Loan">Loan</option>
<option value="Interest">Interest</option>
</select>
<span class="warning"</span>
</label>
</div>
<div id="Account" class="leaf">
<label class="control input text" title>
<span class="wrap">Select Account</span>
<input class type="text" value="[Null]">
<span class="warning"></span>
</label>
</div>
</ul>
</body>
Теперь, когда пользователь вводит номер учетной записи в поле учетной записи, он автоматически отключает поля списка продуктов и веток. Чтобы выполнить эти проверки, я использовал сценарий jQuery, и он выглядит следующим образом:
<script>
jQuery(document).ready(function () {
/*Enable disable Branch, Product when Account number is entered*/
jQuery(document).on('blur', '#Account label.control input', function (event) {
var txtstatus=document.querySelector('#Account label.control input ').value;
if(txtstatus=="Inactive"){
jQuery("#branch").find('label.control input').prop('disabled',true);
jQuery("#Product").find('label.control input').prop('disabled',true);
return false;
}
if(txtstatus=="Active"){
jQuery("#branch").find('label.control input').prop('disabled',false);
jQuery("#Product").find('label.control input').prop('disabled',false);
}
});
jQuery("#apply").click(function(){
var txtstatus=document.querySelector('#Account label.control input ').value;
/*Validations for account number*/
if(txtstatus.match(/^[0-9]{12}$/)==null){
alert("Enter valid Account Number");
return false;
}
else{
return true;
}
/*if(txtstatus=="Inactive"){
jQuery("#branch").find('label.control input').prop('disabled',true);
jQuery("#Product").find('label.control input').prop('disabled',true);
return false;
}
if(txtstatus=="Active"){
jQuery("#branch").find('label.control input').prop('disabled',false);
jQuery("#Product").find('label.control input').prop('disabled',false);
} */
});
});
</script>
После выполнения он не включает или отключает список, но проверка на номер счета работает нормально. Пожалуйста, предложите мне, как выполнить включение/выключение списка.
Вот ваш код jsfiddle. проверьте и измените соответствующим образом, он отключает выбор при вводе Неактивный
if(txtstatus=="Inactive"){
jQuery("#branch").find('label.control select').prop('disabled','disabled');
jQuery("#Product").find('label.control select').prop('disabled','disabled');
return false;
}
if(txtstatus=="Active"){
jQuery("#branch").find('label.control select').prop('disabled',false);
jQuery("#Product").find('label.control select').prop('disabled',false);
}
В вашем скрипте есть изменения. Надеюсь, что вы ожидаете аналогичную производительность.
<script>
$(function(){
/*Enable disable Branch, Product when Account number is entered*/
//$(document).live('keypress', '#Account label.control input', function (event) {
$('#Account label.control input').keypress(function(event){
var txtstatus=$('#Account label.control input').val();//document.querySelector('#Account label.control input ').value;
if(txtstatus != ""){
$("#branch").find('label.control').children("select").attr('disabled',true);
$("#Product").find('label.control').children("select").attr('disabled',true);
//$("").find('label.control input').prop('disabled',true);
//return false;
}else if(txtstatus=="Active"){
$("#branch").find('label.control').children("select").attr('disabled',false);
$("#Product").find('label.control').children("select").attr('disabled',false);
}else{
$("#branch").find('label.control').children("select").attr('disabled',false);
$("#Product").find('label.control').children("select").attr('disabled',false);
}
console.log("you press key..");
});
$("#apply").click(function(){
var txtstatus=document.querySelector('#Account label.control input ').value;
/*Validations for account number*/
if(txtstatus.match(/^[0-9]{12}$/)==null){
alert("Enter valid Account Number");
return false;
}
else{
return true;
}
/*if(txtstatus=="Inactive"){
$("#branch").find('label.control input').prop('disabled',true);
$("#Product").find('label.control input').prop('disabled',true);
return false;
}
if(txtstatus=="Active"){
$("#branch").find('label.control input').prop('disabled',false);
$("#Product").find('label.control input').prop('disabled',false);
} */
});
});
</script>
Спасибо и с уважением