首先需要清空之前下拉框中的内容,否则会出现选项重复的情况,根据url的路径查询出select中所要展示的list,判断list是否为空,如为空,需要置入空行,如不为空,用jquery取到select后将整个list用append的方式置入,代码如下,附抽出的ajax提交方法
$("#name_send").empty();
var url = context + "/customer/publish.ao?method=processQueryMsgTemplate&nodeId=" + nodeId
+ "&d=" + new Date().getTime();
var list = ajaxRequest(url);
content = "<option value='0' ></option>";
if (list == null || list == "") {
$("#name_send").append(content);
} else {
$(list).each(function() {
content += "<option value='" + this.id + "' >" + this.name + "</option>";
});
$("#name_send").append(content);
}
function ajaxRequest(url) {
url += "&date=" + new Date().toLocaleString();
var isFault = false;
var jsonStr = $.ajax({
url : url,
type : 'POST', // 默认值: "GET"。请求方式 ("POST" 或 "GET"), 默认为 "GET"
async : false, // 默认值: true。默认设置下,所有请求均为异步请求
dataType : 'json', // 预期服务器返回的数据类型
success : function(json) {
if (json && json.state) {
showJsonMessage(json);
}
},
error : function(json) {// 请求失败时调用此函数。
showMessage("系统出现异常,请与管理员联系!", "error");
isFault = true;
}
}).responseText;
if (!isFault) {
var json = eval('(' + jsonStr + ')');
if (json) {
// 如果json中存在消息状态标识则提示消息并返回true、false
if (json.state) {
return showMessageState(json.state);
// 否则为数据json,直接返回
} else {
return json;
}
}
}
return null;
}