我已设法使用json对象填充我的下拉菜单,该工作正常。 目前我正在尝试根据从下拉列表中选择的选项显示隐藏div中的图像。由于json对象填充了下拉列表,我将如何检索图像数据。
HTML
<form>
<fieldset id="autoHeight">
<legend>pod</legend>
<h2>Cars</h2>
<select name="drop_down" id="dropDownCars">
<option value="None" selected="Selected">Select type</option>
</select>
</fieldset>
</form>
<div id="showBmw" class="hidden">
<a href="http://cdn.iphoneincanada.ca/wp-content/uploads/2012/08/white-bmw.jpg"></a>
</div>
JSON文件
{
Cars: [{
"CarType": "BMW",
"carID": "bmw123"
}, {
"CarType": "mercedes",
"carID": "merc123"
}, {
"CarType": "volvo",
"carID": "vol123r"
}, {
"CarType": "ford",
"carID": "ford123"
}]
}
这是我使用jquery填充下拉菜单的方法。
$(document).ready(function() {
$.getJSON("../cars.json", function(obj) {
$.each(obj.cars, function(key, value) {
$("#dropDownCars").append("<option>" + value.carsName + "</option>");
});
});
});
jfiddle中的任何工作示例都将非常感谢!感谢。
答案 0 :(得分:14)
试试这段代码.... jsfiddle 它解释了根据所选的下拉ID
将代码放在何处选择图像Html代码
<select id="dropDownDest">
</select>
jQuery document.ready code
var a = {
Cars: [{
"CarType": "BMW",
"carID": "bmw123"
}, {
"CarType": "mercedes",
"carID": "merc123"
}, {
"CarType": "volvo",
"carID": "vol123r"
}, {
"CarType": "ford",
"carID": "ford123"
}]
};
$.each(a.Cars, function (key, value) {
$("#dropDownDest").append($('<option></option>').val(value.carID).html(value.CarType));
});
$('#dropDownDest').change(function () {
alert($(this).val());
//Code to select image based on selected car id
});
答案 1 :(得分:6)
$('#dropDownDest').on('change', function() {
if ($(this).val() == 'vol123r') {
$('#imghide').removeClass('hide');
} else {
$('#imghide').addClass('hide');
}
});
<强> FIDDLE DEMO 强>
答案 2 :(得分:3)
<强> Demo 强>
试试这段代码..
var obj={
Cars: [
{
"CarType": "BMW",
"carID": "bmw123"
},
{
"CarType": "mercedes",
"carID": "merc123"
},
{
"CarType": "volvo",
"carID": "vol123r"
},
{
"CarType": "ford",
"carID": "ford123"
}
]
};
for(var i=0;i<obj.Cars.length;i++)
{
var option=$('<option></option>').text(obj.Cars[i]['CarType']);
$('select').append(option);
}