我有一个带有一些详细信息的json字符串,我想根据if条件从json字符串中获取值,但是我没有值,这是有问题的。
我要怎么做,当我更改汽车类型时,下拉菜单中有两个汽车类型4Seater和8Seater,然后我要从json字符串中的所有下一个下拉菜单中的汽车名称中选择所有汽车名称。我试过下面的代码,但未显示任何选项。我不知道该怎么做。
<script src="jquery-1.12.0.js"></script>
<body>
<select id="capacity">
<option value="">Select</option>
<option value="4Seater">4Seater</option>
<option value="8Seater">8Seater</option>
</select>
<select id="cars"></select>
<script type="text/javascript">
$(document).ready(function(){
var jsonstirn = '[{"capacity":"4Seater","carname":"car1","price":"83"},{"capacity":"4Seater","car2":"i10","price":"83"},{"capacity":"8Seater","carname":"car3","price":"83"}]';
var jsonarray = JSON.parse(jsonstirn);
$('#capacity').change(function(){
var cars = ''
var capacityval = $('#capacity').val();
$.each(jsonarray,function(i,item){
if(item.capacity == capacityval){
cars+='<option value="'+item.carname+'">'+item.carname+'</option>';
};
});
$('#cars').html(cars);
});
});
</script>
</body>
有item.capacity的拼写错误,您已使用item.capcity代替了Capacity,请使用以下命令:
$.each(jsonarray,function(i,item){
if(item.capacity == capacityval){
cars+='<option value="'+item.carname+'">'+item.carname+'</option>';
};
});
// set json :
var jsonstirn = '[{"capacity":"4Seater","carname":"car1","price":"83"},{"capacity":"4Seater","carname":"i10","price":"83"},{"capacity":"8Seater","carname":"car3","price":"83"}]';
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句