我有这个功能:
function loadlist(selobj,url,id_nameattr, nameattr, message){
$(selobj).empty();
$.getJSON(url,{},function(data)
{
$(selobj).append('<option value="" selected disabled>'+message+'</option>');
$.each(data, function(i,obj)
{
$(selobj).append(
$('<option></option>')
.val(obj[id_nameattr])
.html(obj[nameattr]));
});
});
}
我想在加载下拉列表之后:
loadlist("#myselect", url, "id", "name", "Selecte a value");
设定值:
$.("#myselect").val(1);
我在尝试:
$.when(loadlist("#myselect", url, "id", "name", "Selecte a value")).done(function(){ $.("#myselect").val(1); });
赢了工作。
你能给我一个想法吗?
谢谢。
答案 0 :(得分:0)
$.when()
的参数应该是Deferred
,但loadlist
不会返回任何内容。它应该返回$.getJSON
返回的内容:
function loadlist(selobj,url,id_nameattr, nameattr, message){
$(selobj).empty();
return $.getJSON(url,{},function(data)
{
$(selobj).append('<option value="" selected disabled>'+message+'</option>');
$.each(data, function(i,obj)
{
$(selobj).append(
$('<option></option>')
.val(obj[id_nameattr])
.html(obj[nameattr]));
});
});
}