Заполнение выпадающего списка объектом json
мне удалось заполнить мое выпадающее меню объектом 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, был бы очень признателен! Спасибо.
3 ответов
$('#dropDownDest').on('change', function() {
if ($(this).val() == 'vol123r') {
$('#imghide').removeClass('hide');
} else {
$('#imghide').addClass('hide');
}
});
попробуйте этот фрагмент кода....jsfiddle он объясняет, куда поместить код для выбора изображения на основе выбранного выпадающего идентификатора
Html код
<select id="dropDownDest">
</select>
документ jQuery.готовый код
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
});
попробуйте этот код..
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);
}