如何使用for循环或数组来缩短具有类似ID的if else脚本

时间:2015-09-02 00:43:12

标签: jquery

我有这个脚本根据下拉列表的值显示和隐藏输入字段。我有多个下拉列表和多个输入字段显示,所以我做了ifelse。但是如何使用for循环或数组来缩短此脚本。我的ID类似于最后的数字。

$('select').on('change',function(){
    if( $(this).val()==="Other"){

          if( this.id == 'bedconfigdrop0'){
               $('#bedConfigOther0').show();
          }
          else if( this.id == 'bedconfigdrop1'){
              $('#extraSetBedConfigOther1').show();
          }
          else if( this.id == 'bedconfigdrop2'){
               $('#extraSetBedConfigOther2').show();
          }
          else if( this.id == 'bedconfigdrop3'){
               $('#extraSetBedConfigOther3').show();
          }
          else if( this.id == 'bedconfigdrop4'){
               $('#extraSetBedConfigOther4').show();
          }
    }else if( $(this).val() != "Other"){
         if( this.id == 'bedconfigdrop0'){
               $('#bedConfigOther').hide();
          }
          else if( this.id == 'bedconfigdrop1'){
              $('#extraSetBedConfigOther1').hide();
          }
          else if( this.id == 'bedconfigdrop2'){
               $('#extraSetBedConfigOther2').hide();
          }
          else if( this.id == 'bedconfigdrop3'){
               $('#extraSetBedConfigOther3').hide();
          }
          else if( this.id == 'bedconfigdrop4'){
               $('#extraSetBedConfigOther4').hide();
          }
    }
});

1 个答案:

答案 0 :(得分:1)

这里的男人:

$('select').on('change',function(){
    if( $(this).val()==="Other"){
        for(var i=0; i<5; i++) {
           if(this.id == 'bedconfigdrop'+i) {
                $('#bedConfigOther'+i).show()  
                break;
           }
        }

    }else if( $(this).val() != "Other"){
        for(var i=0; i<5; i++) {
           if(this.id == 'bedconfigdrop'+i) {
                $('#bedConfigOther'+i).hide()  
                break;
           }
        }
    }
});