我想创建动态汽车自动搜索,并更改第二个选择" id = themodel"在改变第一个" id = thecar"之后。变量m1,m2,m3由php动态创建。
问题出在这一行" $('#themodel')。html(themodelID);",我不知道如何解决它,因为警报返回正确值,如果我替换" themodelID" (例如)" m1" - 它有效......
像这样的 <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>
,这是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 :(得分: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]);
});