从 JSON 填充 select 列表
populating a select list from JSON
我收到了一些 JSON 数据,如下所示:
{
"COLUMNS": [
"COMP_ID",
"COMP_NAME",
"FIRST_NAME",
"LAST_NAME",
"EMAIL_ADDRESS"
],
"DATA": [
[
68,
"Comp Name 1",
"Nicole ",
"Lastname ",
"a@a.com"
],
[
173,
"Comp Name 2",
"Megan",
"Lastname ",
"b@a.com "
],
[
175,
"Comp Name 3",
"Elizabeth ",
"Lastname ",
"c@a.com "
],
[
244,
"Comp Name 4",
"Kelly ",
"Lastname ",
"d@a.com "
],
[
266,
"Comp Name 5",
"Andrea ",
"Lastname ",
"e@a.com "
]
]
}
我正在尝试从结果集中创建一个 select 列表。应该是:
<select name="selectCompany" id="selectCompany">
<option value="68">Comp Name 1</option>
<option value="173">Comp Name 2</option>
<option value="175">Comp Name 3</option>
<option value="244">Comp Name 4</option>
<option value="266">Comp Name 5</option>
</select>
在我的 ajax 调用中,我使用的是:
success: function (result) {
var compData = $.parseJSON(result);
$('#selectCompany').attr('enabled', 'true');
$.each(compData, function() {
$('#selectCompany').append(
$("<option></option>").text($.trim(compData.DATA[0][0])).val($.trim(compData.DATA[0][1]))
);
});
},
如何正确循环数据并填充 select?
试试这个
success: function (result) {
var compData = $.parseJSON(result);
$('#selectCompany').attr('enabled', 'true');
var opts = ""
$.each(compData, function() {
opts.concat("<option value='"+$.trim(compData.DATA[0[0])+"'>"+$.trim(compData.DATA[0][1])+"</option>"
});
$('#selectCompany').append(opts);
},
JSFIDDLE 演示 -> http://jsfiddle.net/wqzuxdpy/
使用.each()
迭代compData.DATA
$.each(compData.DATA, function () {
var $option = $('<option/>').text(this[1]).val(this[0]);
$('#selectCompany').append($option);
});
我收到了一些 JSON 数据,如下所示:
{
"COLUMNS": [
"COMP_ID",
"COMP_NAME",
"FIRST_NAME",
"LAST_NAME",
"EMAIL_ADDRESS"
],
"DATA": [
[
68,
"Comp Name 1",
"Nicole ",
"Lastname ",
"a@a.com"
],
[
173,
"Comp Name 2",
"Megan",
"Lastname ",
"b@a.com "
],
[
175,
"Comp Name 3",
"Elizabeth ",
"Lastname ",
"c@a.com "
],
[
244,
"Comp Name 4",
"Kelly ",
"Lastname ",
"d@a.com "
],
[
266,
"Comp Name 5",
"Andrea ",
"Lastname ",
"e@a.com "
]
]
}
我正在尝试从结果集中创建一个 select 列表。应该是:
<select name="selectCompany" id="selectCompany">
<option value="68">Comp Name 1</option>
<option value="173">Comp Name 2</option>
<option value="175">Comp Name 3</option>
<option value="244">Comp Name 4</option>
<option value="266">Comp Name 5</option>
</select>
在我的 ajax 调用中,我使用的是:
success: function (result) {
var compData = $.parseJSON(result);
$('#selectCompany').attr('enabled', 'true');
$.each(compData, function() {
$('#selectCompany').append(
$("<option></option>").text($.trim(compData.DATA[0][0])).val($.trim(compData.DATA[0][1]))
);
});
},
如何正确循环数据并填充 select?
试试这个
success: function (result) {
var compData = $.parseJSON(result);
$('#selectCompany').attr('enabled', 'true');
var opts = ""
$.each(compData, function() {
opts.concat("<option value='"+$.trim(compData.DATA[0[0])+"'>"+$.trim(compData.DATA[0][1])+"</option>"
});
$('#selectCompany').append(opts);
},
JSFIDDLE 演示 -> http://jsfiddle.net/wqzuxdpy/
使用.each()
$.each(compData.DATA, function () {
var $option = $('<option/>').text(this[1]).val(this[0]);
$('#selectCompany').append($option);
});