您好,我正在开发一个电话间隙应用程序并从 WCF 服务获取数据,该服务返回给我 JSON 响应。我需要在组合框中显示 DesignName 并传递相关的 designId……知道该怎么做吗?
这是json响应..
{
"DesignResult":
"{\"DesignId\":\"1\",\"DesignName\":\"Bedroom\"}
{\"DesignId\":\"2\",\"DesignName\":\"Dining\"}
{\"DesignId\":\"5\",\"DesignName\":\"Entertainment\"}
{\"DesignId\":\"4\",\"DesignName\":\"Occasional Tables\"}
{\"DesignId\":\"6\",\"DesignName\":\"Office\"}
{\"DesignId\":\"3\",\"DesignName\":\"Upholstery\"}"
}
这是我可以在选定位置获取文本的功能
var combo1 = document.getElementById("designBox");
var val = combo1.options[combo1.selectedIndex].text;
但这会给我 DesignName 因为我需要在框中显示 DesignName 但我需要获取关联的 DesignId ..
使用以下代码,我正在动态添加选项
for (var i = 0; i < jsonData.Design.length; i++)
{
opt = document.createElement("option");
opt.text= jsonData.Design[i].DesignName;
sel = document.getElementById("designBox");
sel.add(opt);
}
修改代码如下,但为 DesignId 获取“Null”
var optElement = document.createElement("option");
optElement.setAttribute('value',jsonData.Design[i].DesignId);
optElement.innerHTML = jsonData.Design[i].DesignName;
检索:
var combo1 = document.getElementById("designBox");
var test = combo1.getAttribute('value');
alert("test value is...."+test);