如何通过jquery自动完成功能传递下拉选择值?

时间:2014-02-07 07:03:32

标签: jquery asp.net vb.net jquery-autocomplete

有一个自动完成功能,通过该功能,我从.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>

2 个答案:

答案 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);
                }
            });
            },