2016-08-11 5 views
0

Я искал не повезло с этим решением ... Я пытаюсь выполнить функцию, которая скрывает div по выбранному параметру в поле выбора, но я не могу заставить его работать правильно, я означает, что он работает, если я обновляю страницу с помощью опции, которая скрывает выбранный div, div скрывается, меняет параметр, div виден, НО если я вернусь к опции, которая должна скрыть div ... это не делает скрыть это ... Что я делаю неправильно?выберите опцию и спрячьте div jquery

Это моя функция:

$(function(){ 
 

 
     if ($('select#CW_Type').val() ==='APPROVED') { 
 
      $('#creditLimit').addClass('hide'); 
 
      $('select#CW_Type').on("change",function() { 
 
       $('#creditLimit').removeClass('hide'); 
 
      }); 
 
     
 
    }; 
 
});

идентификатор "#creditLimit" является ДИВ, который должен быть спрятан, а затем будет показано снова Это мой HTML

<div> 
 
     <label> 
 
      Type 
 
      <select id="CW_Type" name="CW_Type"> 
 
       <option value="-">-</option> 
 
       <option value="APPROVED">APPROVED</option> 
 
       <option value="LIMIT">LIMIT</option> 
 
       <option value="MANUAL_DECISION">MANUAL DECISION</option> 
 
       <option class="selected" value="DENIED">DENIED</option> 
 
      </select> 
 
     </label> 
 
</div> 
 

 
    <div id="creditLimit" class="span6"> 
 

 
     <label class="half"> 
 
      Credit Limit 
 
      <input type="number" name="CW_CreditLimit" value="0" min="0" step="1" data-validate="currency"> 
 
     </label> 
 

 
     <label class="half"> 
 
      Currency 
 
      <select name="CW_Currency"> 
 
       <option value="-">-</option> 
 
       <option value="SEK">SEK</option> 
 
       <option value="EUR">EUR</option> 
 
      </select> 
 
     </label> 
 
    </div> 
 

 
<style> 
 
.hide {display:none;} 
 
</style>
Заранее благодарим за любое предложение!

+0

Похоже, что в вашем Javascript отсутствует первая строка ... пожалуйста, предоставьте один фрагмент с надлежащим HTML, CSS и Javascript в подходящих частях ... – andreas

ответ

1

Вам нужна change функции для select, а затем проверить значение и сделать вашу логику:

$("select#CW_Type").change(function() { 
    if (this.value ==='APPROVED') { 
     $('#creditLimit').addClass('hide'); 
    } else { 
     $('#creditLimit').removeClass('hide'); 
    } 
}).change(); //call on load 

Вы в настоящее время есть change обработчика - но это только связываясь, когда ваше if условия - и если это не нагрузка, тогда обработчик никогда не будет связан.

+0

Извините за фрагмент! Я обещаю, что я начну делать это правильно :) И большое спасибо за ваш ответ! Это совершенно верно! –

Смежные вопросы