json选择选项jquery

时间:2013-05-05 04:35:21

标签: jquery json

当我尝试解析我的json数据时...我得到了这个......

[object object],[object object],[object object]....

我的代码是这样的......

var json
            function go(){
                json = jQuery.parseJSON($('#json').val());
                alert(json);

            }

我的json看起来像这样......

[{"Jenis Bahan":"sp100roll","Lebar":"160","Harga / Meter":"4300"},{"Jenis Bahan":"sp100ecer","Lebar":"160","Harga / Meter":"5300"},{"Jenis Bahan":"sp75ecer","Lebar":"160","Harga / Meter":"4300"},{"Jenis Bahan":"sp75roll","Lebar":"160","Harga / Meter":"3800"},{"Jenis Bahan":"sp50roll","Lebar":"160","Harga / Meter":"2800"},{"Jenis Bahan":"a","Lebar":"b","Harga / Meter":"c"},{"Jenis Bahan":"a","Lebar":"b","Harga / Meter":"c"},{"Jenis Bahan":"a","Lebar":"b","Harga / Meter":"c"}]

我的问题是......如何获得这样的警报结果......

Name = sp100roll value = 160-4300
Name = sp75ecer value= 160-5300
......

但是决赛是..我想从它创建一个选择框选项..所以它就像这样......

<option value="160-4300">sp100roll</option>
<option value="160-5300">sp75ecer</option>
and etc...

任何人都可以提供帮助吗?

我已经尝试了许多答案,但仍然无法工作..

3 个答案:

答案 0 :(得分:2)

请勿使用警报查看变量使用console.log的内容。这将显示数组中的所有元素以及控制台中对象中的所有属性,而不是仅仅尝试将其转换为与alert类似的字符串。

json = jQuery.parseJSON($('#json').val());
console.log(json);
//console.dir(json);//for IE

http://jsfiddle.net/mowglisanu/zA54W/

为了构建select,只需遍历数组并在每个对象中设置值和文本

...
$('#theselect').append('<option value="'+json[i]['Lebar']+'-'+json[i]['Harga / Meter']+
'">'+json[i]['Jenis Bahan']+'</option>');
...

答案 1 :(得分:0)

你的json看起来有点问题,当你这样写:“Jenis Bahan”:“sp100roll”,它相当于:var Jenis Bahan =“sp100roll”;这样变量的定义与规则不一致,你可以改变这样的json:[{“Jenis_Bahan”:“sp100roll”,“Lebar”:“160”,“Harga_Meter”:“4300”},{“Jenis_Bahan”:“sp100ecer”,“Lebar”:“ 160" , “Harga_Meter”: “5300”},{ “Jenis_Bahan”: “sp75ecer”, “岜”: “160”, “Harga_Meter”: “4300”},{ “Jenis_Bahan”: “sp75roll”, “岜” : “160”, “Harga_Meter”: “3800”},{ “Jenis_Bahan”: “sp50roll”, “岜”: “160”, “Harga_Meter”: “2800”},{ “Jenis_Bahan”: “一”,”岜 “:” b”, “Harga_Meter”: “C”},{ “Jenis_Bahan”: “一”, “岜”: “b”, “Harga_Meter”: “C”},{ “Jenis_Bahan”: “一个” “岜”: “b”, “Harga_Meter”: “C”}] 现在你可以这样读: function go(){                 var data = [{“Jenis_Bahan”:“sp100roll”,“Lebar”:“160”,“Harga_Meter”:“4300”},{“Jenis_Bahan”:“sp100ecer”,“Lebar”:“160”,“Harga_Meter” : “5300”},{ “Jenis_Bahan”: “sp75ecer”, “岜”: “160”, “Harga_Meter”: “4300”},{ “Jenis_Bahan”: “sp75roll”, “岜”: “160”,” Harga_Meter “:” 3800 “},{” Jenis_Bahan “:” sp50roll”, “岜”: “160”, “Harga_Meter”: “2800”},{ “Jenis_Bahan”: “一”, “岜”: “b” 的“Harga_Meter”: “C”},{ “Jenis_Bahan”: “一”, “岜”: “b”, “Harga_Meter”: “C”},{ “Jenis_Bahan”: “一”, “岜”:” b”, “Harga_Meter”: “C”}];                 for(var i = 0; i

答案 2 :(得分:0)

使用JSON.stringify而不是parseJSON。这可能会有所帮助