有一个自动完成功能,通过该功能,我从.aspx页面传递前缀字母,但是如何传递下拉选择值?
我的代码:
<script type="text/javascript">
$(document).ready(function () {
$("#<%=ALkTxt.ClientID %>").autocomplete({
source: function (request, response) {
$.ajax({
url: '<%=ResolveUrl("~/WebService.asmx/Getp") %>',
data: "{ 'prefix': '" + request.term + "'}",
dataType: "json",
type: "POST",
scroll: true,
scrollHeight: 180,
contentType: "application/json; charset=utf-8",
success: function (data) {
response($.map(data.d, function (item) {
return {
label: item.split('-')[0],
val: item.split('-')[1]
}
}))
},
error: function (response) {
alert(response.responseText);
},
failure: function (response) {
alert(response.responseText);
}
});
},
select: function (e, i) {
$("#<%=CmbHdn.ClientID %>").val(i.item.val);
},
minLength: 1
});
});
</script>
答案 0 :(得分:0)
我希望这是您想要的,因为据我所知您想要将另一个参数发送到自动完成功能:
var selectdval = $("#myselect option:selected").val();
data: "{ 'prefix': '" + request.term + "','SelectedVal:'" + selectdval + "'}";
其中$("#myselect option:selected" ).val();
是下拉列表选择值
答案 1 :(得分:-1)
试试这个data: { 'prefix': request.term },
代替data: "{ 'prefix': '" + request.term + "'}",
更新
使用此功能发送所选值
select: function (e, i) {
$.ajax({
url: '<%=ResolveUrl("~/WebService.asmx/Getp") %>',
data: { 'prefix': i.item.value },
dataType: "json",
type: "POST",
scroll: true,
scrollHeight: 180,
contentType: "application/json; charset=utf-8",
success: function (data) {
response($.map(data.d, function (item) {
return {
label: item.split('-')[0],
val: item.split('-')[1]
}
}))
},
error: function (response) {
alert(response.responseText);
},
failure: function (response) {
alert(response.responseText);
}
});
},