我有一些選項,我將添加到Web窗體並清理HTML有點我使用一些腳本來填充選項的一些選擇框。我需要根據選擇的內容顯示/隱藏某些div,並且它對於具有硬編碼HTML選項的選擇之一正確工作。但是,對於通過腳本和一些JSON填充的其他下拉菜單,它不會顯示或隱藏更改中的div。任何人看到我做錯了什麼?jQuery顯示/隱藏div選擇更改不與JSON填充選項工作
如果你選擇成員+1客人那麼一個DIV顯示,因爲它應該。但其他從未顯示其他分區!
下面是HTML:
<div id="tickets">
<label for="group1">Number of Tickets: <span class="req">*</span></label>
<select class="group1_dropdown" id="group1" name="group1">
<option value="0">-- Please select --</option>
<option value="1">Member</option>
<option value="2">Member + 1 Guest</option>
<option value="3">Member + 2 Guests</option>
<option value="4">Member + 3 Guests</option>
</select>
<label class="visuallyhidden">Year</label>
<select id="yearSelectionBox2" class="stringInfoSpacing">
<option value="0" selected="selected">Year</option>
</select>
</div>
<div id="payMethod">
<div class="header"> PAYMENT METHOD </div>
<div id="payOptions">
<div id="payInfo">
<div id="pay0" class="paymentinfo">
<p>PAYMENT INFO OPTION 1</p>
</div>
</div>
</div>
</div>
<div id="pay222" class="tacos">
<p>Years Data</p>
</div>
下面是我使用的腳本:
var YearListItems2= "";
for (var i = 0; i < modelYearJsonList2.modelYearTable2.length; i++){
YearListItems2+= "<option value='" + modelYearJsonList2.modelYearTable2[i].modelYearID + "'>" + modelYearJsonList2.modelYearTable2[i].modelYear + "</option>";
};
$("#yearSelectionBox2").html(YearListItems2);
//The div is not showing/hiding as it should
$("#yearSelectionBox2").change(function() {
var str = "";
str = parseInt($("select option:selected").val());
if(str == 2013)
$("#pay222").show('slow');
else
$("#pay222").hide('fast');
});
//This one works as it should
$("#group1").change(function() {
var str = "";
str = parseInt($("select option:selected").val());
if(str == 2)
$("#payMethod").show('slow');
else
$("#payMethod").hide('fast');
});
現在我明白了。謝謝Arun。 –