jquery自动完成多个输出

jquery自动完成多个输出,jquery,asp.net,ajax,Jquery,Asp.net,Ajax,您好,我已经根据搜索条件填充了textbox,即如果我键入a,则以a开头的项目将填充到textbox中,并且我使用了另一个显示partyname的textbox,但问题是,当我在item textbox中选择值时,它不会显示在textbox中,但partyname textbox正在工作,即当我选择partyname时从下拉列表中,它显示在隐藏字段和文本框中,但在项目不工作的情况下,我正在发送我的jquery函数,因此请帮助 $(document).ready(function() {

您好,我已经根据搜索条件填充了textbox,即如果我键入a,则以a开头的项目将填充到textbox中,并且我使用了另一个显示partyname的textbox,但问题是,当我在item textbox中选择值时,它不会显示在textbox中,但partyname textbox正在工作,即当我选择partyname时从下拉列表中,它显示在隐藏字段和文本框中,但在项目不工作的情况下,我正在发送我的jquery函数,因此请帮助

$(document).ready(function() {
    SearchText();
    SearchItem();
});

function SearchText() {
    $('input[name$="tbAuto"]').autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "PartyList.asmx/FetchPartyList",
                data: "{ 'prefix': '" + request.term + "' }",
                dataType: "json",
                type: "POST",
                contentType: "application/json; charset=utf-8",
                success: function(data) {
                    response(data.d);
                },
                error: function(XMLHttpRequest, textStatus, errorThrown) {
                    alert(textStatus);
                }
            });
        },
        minLength: 1,
        focus: function(event, ui) {
            $('input[name$="tbAuto"]').val(ui.item.Name);
            return false;
        },
        select: function(event, ui) {
            $('input[name$="tbAuto"]').val(ui.item.Name);
            $('input[name$="tbHidden"]').val(ui.item.value);
            return false;
        }
    }).data('autocomplete')._renderItem = function(ul, item) {
        return $('<li>').data('item.autocomplete', item).append('<a>' + item.Name + '</a>').appendTo(ul);
    };
}


function SearchItem() {
    $('input[name$="txtitem"]').autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "Itemslist.asmx/FetchItemList",
                data: "{ 'prefix': '" + request.term + "' }",
                dataType: "json",
                type: "POST",
                contentType: "application/json; charset=utf-8",
                success: function(data) {
                    response(data.d);
                },
                error: function(XMLHttpRequest, textStatus, errorThrown) {
                    alert(textStatus);
                }
            });
        },
        minLength: 1,
        focus: function(event, ui) {
            $('input[name$="txtitem"]').val(ui.item1.Name);
            return false;
        },
        select: function(event, ui) {
            $('input[name$="txtitem"]').val(ui.item1.Name);
            $('input[name$="hditem"]').val(ui.item1.value);
            return false;
        }
    }).data('autocomplete')._renderItem = function(ul, item1) {
        return $('<li>').data('item1.autocomplete', item1).append('<a>' + item1.Name + '</a>').appendTo(ul);
    };
}
$(文档).ready(函数(){
SearchText();
SearchItem();
});
函数SearchText(){
$('input[name$=“tbAuto”]')。自动完成({
来源:功能(请求、响应){
$.ajax({
url:“PartyList.asmx/FetchPartyList”,
数据:“{'前缀':'”+request.term+“}”,
数据类型:“json”,
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(数据){
答复(数据d);
},
错误:函数(XMLHttpRequest、textStatus、errorshown){
警报(文本状态);
}
});
},
最小长度:1,
焦点:功能(事件、用户界面){
$('input[name$=“tbAuto”]').val(ui.item.name);
返回false;
},
选择:功能(事件、用户界面){
$('input[name$=“tbAuto”]').val(ui.item.name);
$('input[name$=“tbHidden”]').val(ui.item.value);
返回false;
}
}).data('autocomplete')。\u renderItem=功能(ul,项目){
返回$('
  • ').data('item.autocomplete',item.append(''+item.Name+'').appendTo(ul); }; } 函数SearchItem(){ $('input[name$=“txtitem”]')。自动完成({ 来源:功能(请求、响应){ $.ajax({ url:“Itemslist.asmx/FetchItemList”, 数据:“{'前缀':'”+request.term+“}”, 数据类型:“json”, 类型:“POST”, contentType:“应用程序/json;字符集=utf-8”, 成功:功能(数据){ 答复(数据d); }, 错误:函数(XMLHttpRequest、textStatus、errorshown){ 警报(文本状态); } }); }, 最小长度:1, 焦点:功能(事件、用户界面){ $('input[name$=“txtitem”]').val(ui.item1.name); 返回false; }, 选择:功能(事件、用户界面){ $('input[name$=“txtitem”]').val(ui.item1.name); $('input[name$=“hditem”]').val(ui.item1.value); 返回false; } }).data('autocomplete')。\u renderItem=函数(ul,第1项){ 返回$('
  • ').data('item1.autocomplete',item1.append(''+item1.Name+'').appendTo(ul); }; }
  • ItemInfo类:

    public class Iteminfo
    {
        connection oConnection = new connection();
        Control oControl = new Control();
        AccountInfo oAccount = new AccountInfo();
        connection c = new connection();
    
        public string Title { get; set; }
        public string Name { get; set; }
        public string value { get; set; }
    
        public List<Iteminfo> GetItems(string prefixText)
        {
            List<Iteminfo> itemList = new List<Iteminfo>();
    
            try
            {
                DataTable dt;
                AccountInfo oAccount = new AccountInfo();
                //dt = oAccount.GetAccountInfo((int)HttpContext.Current.Session["CompCode"], 0);
                dt = oAccount.GetIteminfo(prefixText);
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        itemList.Add(new Iteminfo() { Name = dt.Rows[i]["groupname"].ToString() + dt.Rows[i]["subgroup"].ToString() + dt.Rows[i]["itemname"], Title = dt.Rows[i]["itemname"].ToString(), 
                        value = dt.Rows[i]["groupname"].ToString() + dt.Rows[i]["subgroup"].ToString() + dt.Rows[i]["itemname"].ToString()+";"+dt.Rows[i]["itemcode"].ToString() });
                    }
                }
            }
            catch (SqlException)
            {
                itemList.Add(new Iteminfo() { Name = "Problem Getting Results.", value = "Error" });
            }
    
            if (itemList.Count == 0)
                itemList.Add(new Iteminfo() { Name = "Nothing to Display.", value = "Info" });
    
            return itemList;
        }
    }
    
    公共类Iteminfo
    {
    连接o连接=新连接();
    Control-oControl=新控件();
    AccountInfo OAAccount=新AccountInfo();
    连接c=新连接();
    公共字符串标题{get;set;}
    公共字符串名称{get;set;}
    公共字符串值{get;set;}
    公共列表GetItems(字符串前缀)
    {
    List itemList=新列表();
    尝试
    {
    数据表dt;
    AccountInfo OAAccount=新AccountInfo();
    //dt=oAccount.GetAccountInfo((int)HttpContext.Current.Session[“CompCode”],0);
    dt=oAccount.GetIteminfo(prefixText);
    如果(dt.Rows.Count>0)
    {
    对于(int i=0;i
    页面方法:

    [WebMethod]
    public List<Iteminfo> FetchItemList(string prefix)
    {
        var items = new Iteminfo();
        var fetchitems = items.GetItems(prefix);
        //.Where(m => m.Name.ToLower().StartsWith(prefix.ToLower()));
    
        // .Where(m => m.Name.ToLower().StartsWith(prefix.ToLower()));
        return fetchitems.ToList();
    }
    
    [WebMethod]
    公共列表FetchItemList(字符串前缀)
    {
    var items=new Iteminfo();
    var fetchitems=items.GetItems(前缀);
    //.Where(m=>m.Name.ToLower().StartsWith(prefix.ToLower());
    //.Where(m=>m.Name.ToLower().StartsWith(prefix.ToLower());
    返回fetchitems.ToList();
    }
    
    您的第一个问题似乎出现在
    搜索项功能中。您不应该将所有这些
    item
    更改为
    item1
    ,因为这是内部jQuery UI名称,并且总是相同的(对于所有实例)。因此,您的JavaScript函数应该如下所示:

    function SearchItem() {
        $('input[name$="txtitem"]').autocomplete({
            source: function(request, response) {
                $.ajax({
                    url: "Itemslist.asmx/FetchItemList",
                    data: "{ 'prefix': '" + request.term + "' }",
                    dataType: "json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    success: function(data) {
                        response(data.d);
                    },
                    error: function(XMLHttpRequest, textStatus, errorThrown) {
                        alert(textStatus);
                    }
                });
            },
            minLength: 1,
            focus: function(event, ui) {
                $('input[name$="txtitem"]').val(ui.item.Name);
                return false;
            },
            select: function(event, ui) {
                $('input[name$="txtitem"]').val(ui.item.Name);
                $('input[name$="hditem"]').val(ui.item.value);
                return false;
            }
        }).data('autocomplete')._renderItem = function(ul, item) {
            return $('<li>').data('item.autocomplete', item).append('<a>' + item.Name + '</a>').appendTo(ul);
        };
    }
    
    函数SearchItem(){
    $('input[name$=“txtitem”]')。自动完成({
    来源:功能(请求、响应){
    $.ajax({
    url:“Itemslist.asmx/FetchItemList”,
    数据:“{'前缀':'”+request.term+“}”,
    数据类型:“json”,
    类型:“POST”,
    contentType:“应用程序/json;字符集=utf-8”,
    成功:功能(数据){
    答复(数据d);
    },
    错误:函数(XMLHttpRequest、textStatus、errorshown){
    警报(文本状态);
    }
    });
    },
    最小长度:1,
    焦点:功能(事件、用户界面){
    $('input[name$=“txtitem”]').val(ui.item.name);
    返回false;
    },
    选择:功能(事件、用户界面){
    $('input[name$=“txtitem”]').val(ui.item.name);
    $('input[name$=“hdit