使用JSON值填写组合框 [英] Filling out Combobox Using JSON value
本文介绍了使用JSON值填写组合框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好,我有以下html
Hello I have a following html
<select id="fld_base_profile_id" defaultValue="-1" class="m-wrap span10" field="fld_base_profile_id" appEditor="true"></select>
我的ajax里有这个
$result['analyze_type'][] = array ("id" => $row[idatabase::FIELD_ID], "name" => $row[idatabase::FIELD_PROFILE_NAME]);
echo json_encode($result);
在js部分中(通过我使用Prototype.js的方式):
and in js part (by the way i'm using Prototype.js) :
var JSON = transport.responseText.evalJSON();
在控制台中,我的JSON.analyze_type看起来像这样
In console, my JSON.analyze_type looks like this
Array[1]
0: Object
id: "939"
name: "Reaktif İndüktif Kontrolü Ana Profili"
问题是,我如何解析此JSON数据,以便它可以像html一样更改
The question is, how can i parse this JSON data so it can change my html like
<option value="id">name</option> ??
解决方案:
this.baseProfile = $("fld_base_profile_id");
var JSON = transport.responseText.evalJSON();
this.type = JSON.analyze_type;
for(var i = 0; i < JSON.analyze_type.length; i++) {
var profile = JSON.analyze_type[i];
var opt = document.createElement("option");
opt.value = profile.id;
opt.text = profile.name;
this.baseProfile.appendChild(opt);
}
推荐答案
尝试一下
var el = document.getElementById('fld_base_profile_id');
for(var i = 0; i < JSON.length; i++) {
var profile = JSON[i],
opt = document.createElement("option");
opt.id = profile.id;
opt.value = profile.name;
el.appendChild(opt);
}
这篇关于使用JSON值填写组合框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文