2016-01-03 68 views
0

我想創建動態汽車自動搜索,並更改第一個「id = thecar」後更改第二個選擇「id = themodel」。變量m1,m2,m3由php動態創建。問題是在這一行「$('#themodel')。html(themodelID);」,我不知道如何解決它,因爲警報返回正確的值,並且如果我將「themodelID」替換爲「themodelID」 (例如) 「M1」 - 它的工作原理...如何動態更改第二個選擇afert更改第一個

這樣

<div class="styled-select">  
       <select id="thecar"> 
        <option class="first">- Marka -</option> 
        <option value="1">Audi</option> 
        <option value="2">BMW</option> 
        <option value="3">Fiat</option> 
        <option value="4">Ford</option> 
        <option value="5">Honda</option> 
        <option value="6">Kia</option> 
        <option value="7">Mercedes-Benz</option> 
        <option value="8">Mazda</option> 
        <option value="9">Opel</option> 
        <option value="10">Volkswagen</option>      
       </select> 
      </div> 

      <div class="styled-select">  
       <select id="themodel"> 
        <option class="first">- Model -</option>      
       </select> 
      </div> 

HTML結構,這裏是jQuery代碼:

$(document).ready(function() { 

     var m1 = '<option value="11">A1</option><option value="12">A2</option><option value="13">A3</option><option value="14">A4</option>'; 
     var m2 = '<option value="21">318</option><option value="22">320</option><option value="23">525</option><option value="24">530</option>'; 
     var m3 = '<option value="31">Bravo</option><option value="32">Brava</option><option value="33">Siena</option><option value="34">Ducato</option>'; 

     $('#thecar').change(function(){  
      var thecarID = $('#thecar').val();    
      var themodelID = ('m' + thecarID); 
      $('#themodel').html(themodelID); 
     }); 

    }); 

回答

0

有沒有方法來創建一個變量名動態。最簡單的方法是使用一個對象來存儲所有選項並使用[]表示法訪問它們

var options = { 
    m1: '<option value="11">....', 
    m2: '<option value="21">...', 
    m3: '<option value="31">...'  
}; 

$('#thecar').change(function(){  
     var thecarID = $('#thecar').val();    
     var themodelID = ('m' + thecarID); 
     $('#themodel').html(options[themodelID]); 
    }); 
相關問題