Заполните ВХОД и ВЫБЕРИТЕ данными JSON - PullRequest
0 голосов
/ 03 мая 2018

Привет! Я пытаюсь заполнить не только поля ввода из ответа 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>

Мой скрипт ниже заполняет поля ввода, и я закомментировал приложение select из-за того, что оно просто добавляло в список все данные в формате JSON, а не только данные для выбора.

            $.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 голосов
/ 04 мая 2018

Похоже, ваши select опции уже существуют, я не уверен, почему вы пытаетесь что-то добавить. .val() работает с выпадающими так же, как входы.

Я удалил ненужный код и изменил ваш селектор, чтобы он не указывал только input s.

for (var key in json[0]) {
  if (json[0].hasOwnProperty(key)) {
    $('[name=' + key + ']').val(json[0][key]);
  }
}

https://jsfiddle.net/vLb89bas/

Вы также можете выбрать по номеру: $('#' + key)

...