所以我有$.post
,返回一些json_encode($array);
$array
是一维的,它包含数字:2,4,6。
所以现在data
持有json数据,我如何循环并为我的#time
选择器做出选择? value=""
和显示文本应该是数组中的数字。
答案 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)
。
答案 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");
});