Javascript 正确调用JSON函数
当我有这个JSON数据时,如何正确调用Javascript 正确调用JSON函数,javascript,json,Javascript,Json,当我有这个JSON数据时,如何正确调用loadlist函数 我这样打电话,但不起作用: loadlist($('select#selName').get(0), 'pull.php','data.name') 以下是我的JSON数据: { data: [ { id: "e0b0d8sc5ffd82e", name: "John", } ] } 功能 function loadlist(selobj,url,nameattr) { $(sel
loadlist
函数
我这样打电话,但不起作用:
loadlist($('select#selName').get(0), 'pull.php','data.name')
以下是我的JSON数据:
{
data: [
{
id: "e0b0d8sc5ffd82e",
name: "John",
}
]
}
功能
function loadlist(selobj,url,nameattr) {
$(selobj).empty();
$.getJSON(url,{},function(data)
{
$(selobj).append(
$('<option>Select</option>')
.val('null')
);
$.each(data, function(i,obj)
{
$(selobj).append(
$('<option></option>')
.val(obj[nameattr])
.html(obj[nameattr]));
});
});
}
函数加载列表(selobj、url、nameattr){
$(selobj).empty();
$.getJSON(url,{},函数(数据)
{
$(selobj).append(
$(“选择”)
.val('null'))
);
$。每个(数据、功能(i、obj)
{
$(selobj).append(
$('')
.val(对象[名称属性])
.html(obj[nameatt]);
});
});
}
您认为obj[“data.name”]
等于obj.data.name
的假设是错误的。(等效项需要两个属性访问:obj[“数据”][“名称”]
)
如果您认为可能需要执行嵌套属性检索,那么最好传入一个用于检索属性的函数。(如果需要使用动态计算的值,这也会起作用。)
函数加载列表(selobj、url、getter){
$(selobj).empty();
$.getJSON(url,{},函数(数据)
{
$(selobj).append(
$(“选择”)
.val('null'))
);
$。每个(数据、功能(i、obj)
{
var值=吸气剂(obj);
$(selobj).append(
$('')
.val(值)
.html(值));
});
});
}
//电话如下:
loadlist($('select#selName').get(0),'pull.php',function(obj){
返回obj.data.name;
});
您是这样称呼它的吗?在'pull.php
之后是否缺少一个'
?什么是“它不工作”意思?不,不能这样使用括号表示法。我正在尝试使用示例代码,但仍然没有填写下拉列表。。还可能是什么?这是我得到的错误。你能发布你的更新代码吗?我的更新代码正是你发布的,我复制/粘贴了。。
function loadlist(selobj,url,getter) {
$(selobj).empty();
$.getJSON(url,{},function(data)
{
$(selobj).append(
$('<option>Select</option>')
.val('null')
);
$.each(data, function(i,obj)
{
var value = getter(obj);
$(selobj).append(
$('<option></option>')
.val(value)
.html(value));
});
});
}
// Call as follows:
loadlist($('select#selName').get(0), 'pull.php', function (obj) {
return obj.data.name;
});