关于变更和负载解决方案的jQuery

时间:2014-01-02 18:20:51

标签: jquery

我正在尝试简化一些我认为有点草率的代码。基本上是一个脚本,它检查以查看选择框的值,并根据所选值显示或隐藏div。我想检查加载值和更改值。有更清洁的方法吗?

// Required items  
 $(document).ready(function(){  
 if($("#credentials").attr("selectedIndex") == "None") {
    $('#CDiv').show();
 }else{
     $('#CDiv').hide();
   }
 $("#credentials").change(function(){
    if ($(this).val() == "None" ) {
        $('#CDiv').show();     
    } else {
        $('#CDiv').hide();      
        }  
    });    
});

我感谢任何帮助。我在jQuery上仍然有点绿色。谢谢!

1 个答案:

答案 0 :(得分:3)

selectedIndex是属性而非属性,并且不返回“None”。如果您想要读取它的值,则应使用prop方法。也就是说,您可以触发更改事件,而不是使用if语句。通过触发事件,您的change处理程序在DOM就绪时执行一次:

$("#credentials").on('change', function() {
    $('#CDiv').toggle( this.value === 'None' ); 
}).change();