Можно ли вставить теги параметров в тег выбора из HTML AJAX - PullRequest
0 голосов
/ 09 марта 2011

У меня есть URL, который возвращает кучу опций тегов.Могу ли я вставить это в мой успех $ .ajax:

function(html) {

} 

Могу ли я вставить все теги параметров прямо в тег select после очистки тега select.мой тег select имеет имя «SelectName».
Я думал что-то вроде этого:

$("select[name='selectName']").appendTo($(html));   // but this doesn't work

мой HTML выглядит так (это ничего, кроме тегов параметров, и это происходит из URL-адреса options.apsx:

<option id="1">test1</option><option id="2">test2</option>...

Ответы [ 3 ]

2 голосов
/ 09 марта 2011

Я предполагаю, что вы ищете append()

$("select[name='selectName']").append(html);

Использование appendTo пытается добавить список выбора к вашему <options/>, который обратен тому, что вы хотите.*

Пример использования jsfiddle .

1 голос
/ 09 марта 2011

Вы можете поместить что-то подобное в свою функцию успеха:

$("select[name='selectName']").empty();
$(html).appendTo("select[name='selectName']");

Предполагая, что html - это набор option тегов, возвращаемых функцией.

0 голосов
/ 23 февраля 2018

Предложенное решение: Чистое решение JavaScript AJAX

 //HTML
 <select id="category">
     <option value="0">--Please Select Category--</option>
 </select>  

 //Javascript onload Event
 <script> 
 window.onload = function(){
    var cat  = document.getElementById('category');     
    loadCat(cat);
 };  

 //Function that will assign Category to Element
 function loadCat(element)
     var e = element;
     var xhr = new XMLHttpRequest();
     var url = 'load_categories.php';
     xhr.open('GET',url, true);
     xhr.onreadystatechange = function(){
     if (xhr.readyState === 4 && xhr.status === 200) {
        var r = JSON.parse(xhr.responseText);
        for (var key in r) {
            if (r.hasOwnProperty(key)) {                
                var tempNode = document.createElement("option");                    
                tempNode.value = r[key];                    
                var textnode = document.createTextNode(r[key]);                     
                tempNode.appendChild(textnode);                   
                e.appendChild(tempNode);    
            }
        }
    }
    };
   xhr.send();
 }  
 </script> 

Сервер должен вернуть базовый объект JSON.Приведенный выше пример будет работать с ответом JSON сервера:

 //JSON RESPONSE FROM SERVER
 {"1":"Module","2":"Essential","3":"Security","4":"Improvement"}

Insert Category by AJAX CALL

Узел Кредит идет по ссылке ниже:

https://www.w3schools.com/jsref/met_node_appendchild.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...