jquery自动完成多个输出
您好,我已经根据搜索条件填充了textbox,即如果我键入a,则以a开头的项目将填充到textbox中,并且我使用了另一个显示partyname的textbox,但问题是,当我在item textbox中选择值时,它不会显示在textbox中,但partyname textbox正在工作,即当我选择partyname时从下拉列表中,它显示在隐藏字段和文本框中,但在项目不工作的情况下,我正在发送我的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() {
$(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