使用jQuery处理并将json数据转换为选项选择器

时间:2012-06-16 23:01:29

标签: jquery

所以我有$.post,返回一些json_encode($array);

$array是一维的,它包含数字:2,4,6。

所以现在data持有json数据,我如何循环并为我的#time选择器做出选择? value=""和显示文本应该是数组中的数字。

3 个答案:

答案 0 :(得分:1)

这样的事情应该有效:

$.each(data, function(i, val) {
    $("<option />").text(val).val(val).appendTo("#time");
}​);​

DEMO: http://jsfiddle.net/tmSqR/


UPDATE。您的数据未从字符串格式解码为JSON。将dataType属性添加到$.post,或在进行迭代之前使用data = JSON.parse(data)

DEMO: http://jsfiddle.net/tmSqR/1/

答案 1 :(得分:1)

也许你想这样做:

var s = $('select#time');
s.empty();
$.each(data, function(key, value){
  s.append($("<option />").text(value).val(key);
  //or 
  s.append($("<option value="key">value</option>"); 
});

答案 2 :(得分:1)

实际上json_encode($array)PHP返回的数据是javascript中的字符串,需要首先转换为对象以循环遍历它,因此在循环开始之前使用$.parseJSON

var obj=$.parseJSON(data);
$.each(obj, function(k, v) {
    $("<option />").text(v).val(v).appendTo("#time");
});​

DEMO.