2016-08-11 115 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'); 
 
      }); 
 
     
 
    }; 
 
});

id为 “#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

您需要为select一个change功能,然后检查值,做你的逻辑:

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

您目前有change处理 - 但是当你if条件满足它的唯一的限制 - 如果这不是负载,那么处理程序将永远不会被绑定。

+0

对不起,该片段!我保证我会开始做对:)并且非常感谢您的回答!这使它完全正确! –