как включить и отключить список, когда пользователь вводит текст в текстовое поле

0

У меня есть код 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>

После выполнения он не включает или отключает список, но проверка на номер счета работает нормально. Пожалуйста, предложите мне, как выполнить включение/выключение списка.

  • 0
    На каких условиях вы хотите включить списки?
  • 0
    Привет, спасибо за ответ. Когда пользователь вводит номер учетной записи в текстовое поле автоматически, два списка должны быть отключены, иначе включить. Например, когда пользователь входит в филиал, номер продукта и счета является потоком, все должно быть включено. Если пользователь вводит номер учетной записи напрямую, продукт и филиал должны быть отключены.
Теги:

2 ответа

0

Вот ваш код 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);
    } 
  • 0
    Он неактивен только один раз, но не постоянно. Предложите быть Дейвом.
  • 0
    вот обновленная ссылка, проверьте и дайте мне знать jsfiddle.net/akhildave/Xv4vH/1 .. если вы введете номер счета напрямую, оба выберут, будет отключен .. вам придется повторно запускать с самого начала .. я не знаю в приложение, каково ваше состояние, чтобы включить снова выберите
Показать ещё 3 комментария
0

В вашем скрипте есть изменения. Надеюсь, что вы ожидаете аналогичную производительность.

<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>

Спасибо и с уважением

  • 0
    Aniket, он все еще отображает список значений, когда я ввожу номер счета
  • 0
    Когда поле выбора должно отображаться как отключенное? Я имею в виду, когда вы вводите текст или после того, как вы ввели ??
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню