2011-06-30 75 views
2

我有列id和名称的SQLite表。我从autocomplete.php页面返回像json这样的行的数组。如何使用jQuery和JavaScript使用此json填充选项(下拉列表)?我是JavaScript和JQuery的新手,我用Google搜索,但没有找到如何。在ASP.NET中这很容易,但在这里我不知道。有人会帮忙吗?用json填充下拉列表

这是我的JSON的例子,可以更长。

[ 
    { 
     "id": "1", 
     "name": "test" 
    }, 
    { 
     "id": "1", 
     "name": "test" 
    } 
] 
+0

是我的回答有帮助/解决您的问题? – Ashish

回答

9

HTML:

<select id="sel"> 

</select> 

的JavaScript:

$(function() { 
    var data = [ 
     { 
     "id": "1", 
     "name": "test1"}, 
    { 
     "id": "2", 
     "name": "test2"} 
    ]; 
    $.each(data, function(i, option) { 
     $('#sel').append($('<option/>').attr("value", option.id).text(option.name)); 
    }); 
}) 

这里的工作的例子。 http://jsfiddle.net/ms2Ma/

+0

没有JQuery语法会是什么样子?我不明白'$('

3

试试这个,这会给你一个选项,让你有任意数量的下拉框和JSON节点来配置下拉框。

您需要按照几个步骤:

  • 创建的下拉框阵列(例如,如果你要配置的手机,那么你应该使用彩色的下拉列表中,内存等)
  • 创建一个JSON对象,因为它是在代码中创建的。不要更改以“level1”开头并以任意数量的节点结束的可配置项目名称,因为它必须与首先创建的数组项目的索引同步。

下面是数据:

var Dropdowns = ["Model", "Color", "Memory","design","covers","music"]; 
var Data ={"phones":[ 
    { 
    "oid":":000000F0:00000458:", 
    "level1":"3G", 
    "level2":"white", 
    "level3":"16GB", 
    "level4":"slim", 
    "level5":"Back cover", 
    "level6":"headphone", 
    "price":"£568.63", 
    "addToCart":"#Cart1" 
    }, 
    { 
    "oid":":000000F0:000003DA:", 
    "level1":"3G", 
    "level2":"black", 
    "level3":"16GB", 
    "level4":"slim", 
    "level5":"Flip cover", 
    "level6":"headphone", 
    "price":"£615.79", 
    "addToCart":"#Cart7" 
    }]}; 

在这里看到完整的工作代码: https://jsfiddle.net/raju_sumit/681ppgq0/5/

+0

太棒了。谢谢你的工作 –