今天弄一個autocomplete 向后后台動態傳遞參數的問題
老的寫法:
params: { "saleid": $("#divSalesman input[field='SalesmanId']").val() },
這樣是不行的因為autocomplete() 方法不會每次都加載一遍,所以 $("#divSalesman input[field='SalesmanId']").val()獲取的只是第一次加載的值
優化后的寫法:
params: { "saleid": function () { return $("#divSalesman input[field='SalesmanId']").val(); }},
所以要使用function(){}再調用一次$("#divSalesman input[field='SalesmanId']").val();
$(".txtchoosecustomer", el).autocomplete({
serviceUrl: "/Custom/AutoComplate",
minChars: 1,
delimiter: /(,|;)\s*/, // regex or character
maxHeight: 400,
params: { "saleid": function () { return $("#divSalesman input[field='SalesmanId']").val(); }},
width: 250,
zIndex: 9999,
deferRequestBy: 0, //miliseconds
noCache: false,
onSelect: function (vl, vd) {
var rowdata = vd.data;
if (opts.callback != null) {
opts.callback(rowdata);
}
}
});