在提出的问题中here ,我看到以下代码可用于向 SELECT 添加选项
function getResults(str) {
$.ajax({
url:'suggest.html',
type:'POST',
data: 'q=' + str,
dataType: 'json',
success: function( json ) {
$.each(json, function(i, optionHtml){
$('#myselect').append(optionHtml);
});
}
});
};
有人可以告诉我,在 php 服务器端,json 的格式应该是什么。比如,应该如何创建它,以便通过“$('#myselect').append(optionHtml);”正确解析它 ??
最佳答案
该代码将解析此 JSON,基本上是带有标记的字符串数组。
[
"<option value='...</option>",
"<option value='...</option>",
"<option value='...</option>",
...
]
但这几乎违背了 JSON 的目的。
<小时/>如果 JSON 只包含数据会更好:
{
"text1" : "value1",
"text2" : "value2",
"text3" : "value3",
...
}
以及您的代码来解析它并为您创建元素。这样,JSON 就更轻量了。
success: function( json ) {
var mySelect = $('#myselect')
$.each(json, function(key,val){
$('<option/>',{
value : val //i like this method of making elements better
}) //because string concatenation is messy
.text(key)
.appendTo(mySelect);
});
}
关于javascript - 用于填充 SELECT 选项的 JSON 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14795507/