解析JSON数组并提取选择列表ID和Value的值
Parse JSON array and extract values for select list ID and Value
谢谢,我现在通过json传递数组并将数据类型设置为json,根据您的示例:
{"car_make_id":"3","car_engine_type":"Non-Turbo Petrol"}{"car_make_id":"3","car_engine_type":"Non-Turbo Diesel"}
但是我的脚本仍然拒绝附加选择选项和值?:
$("select#make").change(function(){
$('#engine').find('option').remove().end(); //clear the engine ddl
var make = $(this).find("option:selected").val(); //Need the value not the text - .Text()
//alert(make);
//do the ajax call
$.ajax({
url:'get-engine.php',
type:'GET',
data:{engine:make},
dataType:'json',
cache:false,
success:function(data){
//var parsedjson = data=JSON.parse(data); //no need if data:type json
$.each(data, function(index, item) {
$("<option/>", {
value: item.car_make_id,
text: item.car_engine_type
}).appendTo("#engine");
});
}
});
});
似乎找不到为什么它不会解析数组?
JSON结构是可怕的,所以真正的问题是修复你的JSON是合乎逻辑的。不管怎样下面是你可以尝试使用当前文件的方法:
$.ajax({
url: 'grabdata.php',
type: 'GET',
data: {
type: make
},
dataType: "json",
cache: false,
success: function (data) {
$.each(data, function (index, item) {
for( var key in item ) {}
$("<option/>", {
value: key,
text: item[key]
}).appendTo("#engine");
});
},
error: function (jxhr) {
alert(jxhr.responseText);
}
});
jsfiddle: http://jsfiddle.net/DBg2L/1/
我不完全理解你的问题,特别是关于"所以需要ID值为"1"和列表选项作为名称的部分。"但是下面将用option
元素填充select
元素,这些元素将parsedjson
(v
)中的每个属性的值作为值,并将每个属性的名称(i
)作为用户可见的值:
$.each(parsedjson, function(i, v){
$('select#engine').append('<option value="' + v + '">' + i + '</option>');
});
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- difference between '$(<%= DDL.ID %>) & $('
- 使用Javascript获取所选选项ID
- 根据id将json数组组合为一个json数组
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 对id以某个字符串开头的元素进行计数
- 如果元素's的ID以数字开头
- 通过id和class属性获取元素
- 如何将value和id动态添加到html下拉选项标记中
- taking the id value
- 解析JSON数组并提取选择列表ID和Value的值
- Jquery获取iD和Value,显示URL参数
- dropped.value does dropped.id exist?
- 将select id和value从HTML传递到JavaScript
- jQuery form.id vs form.id.value
- 获取数组中每个项目的id's,并在option value中附加每个项目
- 从Cloudant获取所有文档数据,而不是id, key, value
- document.getElementById("ID").value不起作用
- JQuery:获取所有Input元素的ID、Value
- 从< >获取ID、VALUE或NAME链接到JS