JQUERY-在加载下拉列表后设置值
我有这个功能:JQUERY-在加载下拉列表后设置值,jquery,Jquery,我有这个功能: function loadlist(selobj,url,id_nameattr, nameattr, message){ $(selobj).empty(); $.getJSON(url,{},function(data) { $(selobj).append('<option value="" selected disabled>'+message+'</option>'); $.each(da
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]));
});
});
}
设置一个值:
$.("#myselect").val(1);
我试着:
$.when(loadlist("#myselect", url, "id", "name", "Selecte a value")).done(function(){ $.("#myselect").val(1); });
不行
你能给我一个主意吗
谢谢。美元.when的参数应该是延迟的,但loadlist不返回任何内容。它应该返回$.getJSON返回的内容:
$.when(loadlist("#myselect", url, "id", "name", "Selecte a value")).done(function(){ $.("#myselect").val(1); });
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]));
});
});
}