填充INPUT&使用JSON数据进行SELECT

时间:2018-05-03 20:26:34

标签: jquery json forms select input

您好我试图不仅填充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"
}]

1 个答案:

答案 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)

进行选择