您好我试图不仅填充JSON响应中的输入字段,还填充选择框具有的值。我可以相应地填充所有输入字段,但我似乎无法集成填充选择字段。如果我只有一个选择字段,我可以让它填充没有问题,但如何让脚本填充两个输入并选择适当的数据?任何指导将不胜感激。
这是字段元素的html片段:
Email <input type="text" style="width:75%;" name="rEmail" id="rEmail" class="roomForm" placeholder="someone@somewhere.com">
Status <select name="rStatus" id="rStatus"><option value="Disabled">Disabled</option><option value="Enabled">Enabled</option></select>
下面的我的脚本填充了输入字段,由于它只是将JSON中的所有内容添加到列表中,而不是仅仅是select的数据,因此我注释掉了select append。
$.ajax({
type:'GET',
url:"getroomfields.php?id="+row_id,success:function(result){
var json = $.parseJSON(result);
var $select = $('#rStatus');
//$select.find('option').remove();
for(key in json[0]){
if(json[0].hasOwnProperty(key))
$('input[name='+key+']').val(json[0][key]);
// $select.append('<option value=' + key + ' selected>' + json[0][key] + '</option>');
}
}
}); // end ajax
提前谢谢你!
这是JSON:
[{
"rID": "1",
"rName": "Test 123 Co",
"rLocation": "Anywhere, World",
"rContact": "John Doe",
"rPhone": "555-555-5555",
"rEmail": "test@someplace.com",
"rStatus": "Enabled",
"rAdded": "05-03-2018"
}]
答案 0 :(得分:0)
看起来您的select
选项已经存在,我不确定您为什么要添加任何内容。 .val()
适用于下拉菜单,就像输入一样。
我删除了一些不必要的代码并更改了您的选择器,因此它不仅仅指定了input
。
for (var key in json[0]) {
if (json[0].hasOwnProperty(key)) {
$('[name=' + key + ']').val(json[0][key]);
}
}
https://jsfiddle.net/vLb89bas/
您也可以按ID:$('#' + key)