Tod*_*ddN 1 jquery select class hide option
我想在选择特定的OPTION Value时隐藏DIV类
    <select id="tagtype" name="type">
        <option value="type_s">Standard</option>
        <option value="type_o">Overstock</option>
        <option value="type_snd">Scratch & Dent</option>
        <option value="type_mult">Multiples</option>
    </select>
<div class="multiples>stuff here</div>
<script type="text/javascript"> 
$(document).ready(function() {
  if ($("#tagtype option[value='type_mult']").length)
   $("multiples").css('display','none');
});
</script>
更好的方法可能是以下内容:
jQuery(document).ready(function() {
   jQuery("#tagtype").change(function() {
      if(jQuery(this).find("option:selected").val() == "type_mult") {
         jQuery(".multiples").hide();
      }
   });
});
您将处理程序绑定到onChange选择框的事件.每当您在选择框中选择一个新选项时,都会调用该处理程序.
在处理程序中,this指的是触发onChange事件的选择框.您查找所选选项的值.如果此值等于"type_mult",则使用该类隐藏所有元素multiples.
现有代码的问题是它只运行一次; 当页面首次完成加载时.您需要响应选择框中的更改,这就是您需要绑定到onChange事件的原因.另一个问题是if声明.即使您使用了代码并在onChange处理程序中,它if也会输入每个类型的块,因为您没有检查是否选择了带有"type_mult"值的选项.你只是检查它是否存在.由于它始终存在,因此内部的代码if将始终运行.此外,如果要使用类名,则需要在类名前加一个句点.所以你想做$(.multiples)而不仅仅是$(multiples)(后者将搜索一个名为的标签multiples,这不是你想要的).
| 归档时间: | 
 | 
| 查看次数: | 5514 次 | 
| 最近记录: |