2009-06-24 49 views
1

是否有某种类型的插件可以做到这一点?服务器将返回包含选项标签和值的JSON内容。通过jQuery AJAX更新选择框选项?

我可以手动做到这一点,我只是想看看有没有更简单的方法。

+0

如果您想要替换整个元素,您可以配置远程脚本以简单地返回完全格式化的选择(包括选项)。但是“手动”更新选项元素不过是几行代码,所以我不知道jQuery插件是合适的。 – inkedmn 2009-06-24 18:53:49

回答

2

循环遍历JSON和做这在每个文本/值对(很好的作品跨浏览器):

var opt = document.createElement('option'); 
opt.value = "someValue"; 
opt.appendChild(document.createTextNode("someText")); 
$('#mySelect').append(opt); 
+0

ooo更好........ – Damien 2009-06-24 18:58:06

1

我在字面上只是循环列表中的项目,并在插入元素之前生成html。现在你可能会提到一个插件。

var selectHtml = '' 
foreach obj Item in jsonobject.list) 
    selecthtml += "<option value="+ item.value +">" + item.label + "</option>" 

$('selectList').html(selectHtml); 

或类似的东西

0

我使用JavaScript,jQuery和AJAX方法按以下方式使用JSON数据更新选择框。它非常干净简洁,完美地完成了这项工作。

$.getJSON(url, data, function(responseJSON){ // GET JSON value from the server 
    $("#mySelect option").remove(); // Remove all the <option> child tags from the select box. 
    $.each(responseJSON.rows, function(index, item) { //jQuery way of iterating through a collection 
     $('#mySelect').append($('<option>') 
      .text(item.label) 
      .attr('value', item.value)); 
       }); 
      });