2011-03-09 187 views
0

我有一个返回一堆选项标记的url。我能够坚持,在我的$就成功:是否可以在ajax中的选择标记中插入选项标记html

function(html) { 

} 

我可以直接把我的选择标签内的所有选项标签排空我的选择标记之后。 我的选择标签的名称为“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>... 

回答

2

我猜你为append()

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

使用appendTo试图选择列表添加到您的<options/>就是你想要发生的事情。

jsfiddle上的示例。

+0

哇它的工作原理谢谢!但它似乎也打了我的ajax错误:部分我有一个警告(“错误信息”);在成功之前:它会触发警报,但仍会填充选择。谢谢! – RetroCoder 2011-03-09 01:30:28

+0

没问题,很高兴我可以帮忙! – 2011-03-09 01:34:17

0

你可以把这样的事情到你的成功的功能:

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

假设html是集合函数返回option标签。

+0

ahhh ...我以错误的顺序使用appendTo。 thx – RetroCoder 2011-03-09 01:31:31

+0

@Marc,yep:但是相信我,我们已经**所有**都做到了,或者说更远,更渺茫,至少有一次...... = D – 2011-03-09 01:33:04

0

提出的解决方案:纯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