点击'创建新按钮'我正在弹出一个带有下拉列表的模态窗口。我使用populateUserData()通过ajax填充下拉列表。我可以看到该呼叫已成功完成,但仍无法在下拉列表中查看数据。 帮我弄清楚我做错了什么。
<form id="formAddUser" action="#" title="Add User to Group" style="display: none;">
<label for="userId"><strong>User Id</strong></label>
<select name="" id="userId" rel="0">
<option>Select</option>
</select>
<label for="active"><strong>Active</strong></label>
<select name="actvUsr" id="actvUsr" rel="1">
<option value="Y">Yes</option>
<option value="N">No</option>
</select>
<button id="userGrpOk" >OK</button>
<button id="usrGrpCancel">Cancel</button>
</form>
<button type="button" id="addusr">CREATE NEW</button>
的Javascript
var userDtl = $( "#formAddUser" ).dialog({
autoOpen: false,
width: 350,
modal: true,
});
// open modal form.
$( "#addusr" ).button().on( "click", function() {
populateUserData();
userDtl.dialog( "open" );
});
function populateUserData() {
var userDataXML = ajax data
$.ajax({
type : "POST",
url : getUserdata',
data : userDataXML,
dataType : "json",
contentType : "application/xml; charset=utf-8",
async : false,
success : function(jqXHR, textStatus,response) {
var shtml='';
$.each(jqXHR,function(index, data) {
shtml+='<option value="'+data.name+'">'+data.name+'</option>';
$("#userId").html("");
$("#userId").html(shtml);
});
},
error : function(jqXHR, textStatus, errorThrown) {
alert("error");
}
});
}
答案 0 :(得分:0)
如果您确定:
success
回调函数然后在$.each()
:
Adding options to a <select> using jQuery?
那会给你:
success : function(jqXHR, textStatus,response) {
var $select = $("#userId");
$.each(jqXHR,function(index, data) {
$select.append('<option value="'+data.name+'">'+data.name+'</option>');
});
}
编辑:
请注意,您在success
函数中熔化了参数顺序。 jQuery doc说:
<强>成功强>
类型:功能(任何数据,字符串textStatus,jqXHR jqXHR)