hello i have page in which i have used ajax on autocomplete event of textbox ie some list is populated in textbox and accordingly selected items are added in grid it works only when first time page is reolad but after when items are added in grid autocomplete event stop working for this i have to reolad the page but i dont this because when i refresh page all items added in grid are lost and when i finally click on save button items in grid are saved and also i have issue that i have another textbox on same page in which i populated list on autocomplete event but is also not working when i type some values in control only it works when first page is reolad so what is this issue
<div id="inner">
<fieldset>
<legend>Purchase Order</legend>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table style="width:44%;">
<tr>
<td>
<div class="dvlefttd2">
<asp:Label ID="lblpartyname" runat="server" Text="Party Name"></asp:Label>
</div>
</td>
<td colspan="3">
<div class="ui-widget" style="display:block;margin-top:18px;">
<asp:TextBox style="min-width:216px" ID="tbAuto" class="tb" runat="server">
</asp:TextBox>
<div style="visibility:hidden">
<asp:TextBox runat="server" ID="tbHidden" class="tb"></asp:TextBox></div>
</div>
</td>
</tr>
<tr>
<td>
<div class="dvlefttd2">
<asp:Label ID="lblQno" runat="server" Text="Q. No."></asp:Label>
</div>
</td>
<td>
<asp:TextBox ID="txtQno" runat="server"
autocomplete="off" MaxLength="8"
onkeypress="return isNumberKey(event)"
Width="75px">
</asp:TextBox>
</td>
<td>
</tr>
<tr>
<td>
<div class="dvlefttd1">
PoNo
</div>
</td>
<td>
<div style="margin-top:-10px;">
<asp:TextBox ID="txtPoNo" runat="server" autocomplete="off" MaxLength="8"
onkeypress="return isNumberKey(event)" ReadOnly="True" Width="75px"></asp:TextBox>
</div>
</td>
<td ID="tdcheck" style="width:195px">
<div class="dvlefttd2" style="padding-top:20px">
<asp:CheckBox ID="chkConsignee" runat="server" AutoPostBack="True"
OnCheckedChanged="chkConsignee_CheckedChanged" Text="Consignee"
TextAlign="Left" />
</div>
</td>
<td id="ColConsignee" runat="server" colspan="3">
<asp:DropDownList ID="ddlConsignee" runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ddlConsignee_SelectedIndexChanged" Width="221px">
</asp:DropDownList>
<asp:TextBox ID="txtConsignee" runat="server" autocomplete="off" MaxLength="30"
Visible="false" Width="100px"></asp:TextBox>
</td>
</tr>
</table>
<fieldset>
<legend>Item Info
</legend>
<table style="width:100%;">
<tr>
<td colspan="2">
<div class="dvitems">
Item
</div>
</td>
<td>
<div class="dvitems">
Grain
</div>
</td>
<td style="width: 79px">
<div class="dvitems">
Unit
</div>
</td>
<td style="width: 79px">
<div class="dvitems">
Cases
</div>
</td>
<td>
</td>
</tr>
<tr>
<td style="width:44px" valign="top" colspan="2">
<div class="ui-widget" style="display:block;">
<asp:TextBox style="min-width:226px;min-height:20px;" ID="txtitem" class="tb" runat="server">
</asp:TextBox>
<div style="visibility:hidden">
<asp:TextBox runat="server" ID="hditem" class="tb"></asp:TextBox>
</div>
</div>
</td>
<td style="width:49px" valign="top">
<asp:DropDownList ID="ddlGrain" runat="server" style="min-width:100px;min-height:20px">
<asp:ListItem>Long</asp:ListItem>
<asp:ListItem>Short</asp:ListItem>
</asp:DropDownList>
</td>
<td valign="top">
<asp:DropDownList ID="ddlUnit" runat="server" style="min-height:27px;min-width:100px">
</asp:DropDownList>
</td>
<td valign="top">
<asp:TextBox ID="txtcases" runat="server" style="min-height:20px;min-width:100px"></asp:TextBox>
</td>
<td valign="top" style="width:49px">
</td>
</tr>
<tr>
<td style="width:44px">
<div class="dvitems">
Qty
</div>
</td>
<td style="width:44px">
<div class="dvitems">
Rate
</div>
</td>
<td>
<div class="dvitems">
Amt
</div>
</td>
<td colspan="2">
<div class="dvitems">
Remark
</div>
</td>
<td>
</td>
</tr>
<tr>
<td style="width: 44px">
<asp:TextBox ID="txtQty" runat="server" autocomplete="off" MaxLength="5"
onkeypress="return isNumberKey(event)" style="min-height:20px;min-width:100px"></asp:TextBox>
</td>
<td style="width: 44px">
<asp:TextBox ID="txtRate" runat="server"
autocomplete="off" MaxLength="6"
onblur="setAmount();"
OnTextChanged="txtRate_TextChanged"
style="min-width:100px;min-height:20px"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txtAmount" runat="server" autocomplete="off" Enabled="False"
MaxLength="7" style="min-width:100px"></asp:TextBox>
</td>
<td colspan="2">
<asp:TextBox ID="txtRemark" runat="server" autocomplete="off" MaxLength="50"
style="min-width:237px"></asp:TextBox>
</td>
<td>
<asp:Button ID="btnAdd" runat="server" CssClass="btn" OnClick="btnAdd_Click"
Text="Add" />
</td>
</tr>
</table>
<asp:Panel ID="Panel1" runat="server" Height="120px" ScrollBars="Both">
<div id="dvgrid" runat="server">
<asp:GridView ID="gvItem" runat="server" CssClass="mGrid"
AutoGenerateColumns="False" PagerStyle-CssClass="pgr"
AlternatingRowStyle-CssClass="alt"
CellPadding="4" ForeColor="#424242" GridLines="None" Height="84px"
OnRowCancelingEdit="gvItem_RowCancelingEdit" OnRowDeleting="gvItem_RowDeleting"
OnRowEditing="gvItem_RowEditing" OnRowUpdating="gvItem_RowUpdating"
OnSelectedIndexChanged="gvItem_SelectedIndexChanged">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:CommandField HeaderText="Edit" ShowEditButton="True" />
<asp:BoundField DataField="No" HeaderText="SrNo">
<ItemStyle />
</asp:BoundField>
<asp:BoundField DataField="Size" HeaderText="Size">
<ItemStyle />
</asp:BoundField>
<asp:BoundField DataField="GSM" HeaderText="GSM">
<ItemStyle />
</asp:BoundField>
<asp:BoundField DataField="Grain" HeaderText="Grain">
<ItemStyle />
</asp:BoundField>
<asp:BoundField DataField="UnitName" HeaderText="Unit" />
<asp:BoundField DataField="Qty" DataFormatString="{0:F}" HeaderText="Qty">
<ItemStyle />
</asp:BoundField>
<asp:BoundField DataField="Rate" DataFormatString="{0:F}" HeaderText="Rate">
<ItemStyle />
</asp:BoundField>
<asp:BoundField DataField="Total" HeaderText="Total" />
<asp:BoundField DataField="Remark" HeaderText="Remark">
<ItemStyle />
</asp:BoundField>
<asp:CommandField HeaderText="Delete" ShowDeleteButton="True" />
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="hdnCatCode" runat="server" Value='<%# Eval("CCode") %>' />
<asp:HiddenField ID="hdnItem" runat="server" Value='<%# Eval("ICode") %>' />
<asp:HiddenField ID="hdnUnitID" runat="server" Value='<%# Eval("UnitID") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle BackColor="#CCCCCC" />
<FooterStyle BackColor="#424242" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#424242" Font-Bold="True" ForeColor="White" />
<PagerStyle ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="White" />
<SelectedRowStyle BackColor="#fff" Font-Bold="True" ForeColor="#333333" />
<%-- <SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />--%>
</asp:GridView>
</div>
</asp:Panel>
</fieldset>
<table>
<tr>
<td>
<!--<asp:Label ID="lblMsg1" runat="server" ForeColor="#CC3300"></asp:Label>-->
<div id="dvPrint" visible="false">
<%=sPrint %>
</div>
</td>
</tr>
<tr>
<td>
<div id="dvchck">
<asp:CheckBox ID="chkSearch" style="text-align:center" onclick="Cash_Cheque();" runat="server" Text="Search">
</asp:CheckBox>
<div>
</div>
</div>
</td>
<td>
<asp:Button ID="btnSave" runat="server" OnClick="btnSave_Click" Text="Save"
Height="25px" Width="75px" CssClass ="btn" />
<!--<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/images/btn.png" />-->
<asp:Button ID="btnCancel" runat="server" OnClick="btnCancel_Click"
Text="Cancel" Height="25px" CssClass="btn" Width="75px" />
</td>
</tr>
<tr style="display: none" id="trSearch" runat="server">
<td style="height: 40px" colspan="2">
<table style="width: 550px" border="0">
<tbody>
<tr>
<td>
<strong>Code </strong>
</td>
<td>
<asp:TextBox ID="txtSCode" runat="server" Width="75px" onkeypress="return isNumberKey(event)"
OnTextChanged="txtSCode_TextChanged" autocomplete="off"></asp:TextBox> <asp:Button ID="btnSearch" OnClick="btnSearch_Click" runat="server" Text="Search" Width="71px" CssClass="btn"></asp:Button>
</td>
<td style="font-weight: bold" valign="top">
</td>
<td style="font-weight: bold" valign="top" align="right">
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:TextBox ID="txtSName" runat="server" autocomplete="off" Width="175px" AutoPostBack="True"
Visible="False"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
</td>
<td style="font-weight: bold" valign="top" align="right">
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<asp:Panel ID="pnlPo" runat="server" Height="400px" Width="750px" ScrollBars="Horizontal">
<!--<div class="GridDock" id="dvGridWidth" style="overflow:scroll;border:1px;">-->
<asp:GridView ID="gvPO" runat="server" AutoGenerateColumns="False" CellPadding="4"
ForeColor="#424242" GridLines="None" AllowPaging="True"
OnPageIndexChanging="gvPO_PageIndexChanging"
OnRowDataBound="gvPO_RowDataBound" Width="1px">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField HeaderText="Code">
<ItemTemplate>
<asp:HiddenField ID="hdnFrght" runat="server" Value='<%# Eval("mstfrghtper") %>' />
<asp:HiddenField ID="hdnTin" runat="server" Value='<%# Eval("mstlotno") %>' />
<asp:HiddenField ID="hdnVat" runat="server" Value='<%# Eval("mstsection") %>' />
<asp:LinkButton ID="lnkCode" runat="server" Text='<%# Eval("mstcode") %>' OnClick="lnkCode_Click">code</asp:LinkButton>
<asp:HiddenField ID="hdnParty" runat="server" Value='<%# Eval("mstptcode") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="mstdate" HeaderText="Date" DataFormatString="{0:dd-MM-yyyy}" />
<asp:BoundField DataField="mstContactPerson" HeaderText="Consignee" />
<asp:BoundField DataField="msttaxper" HeaderText="Tax" DataFormatString="{0:F}" />
<asp:BoundField DataField="msttota" HeaderText="Total" DataFormatString="{0:F}" />
<asp:BoundField DataField="mstdeliDes" HeaderText="delivery" />
<asp:BoundField DataField="mstindno" HeaderText="Tin" />
<asp:BoundField DataField="mstpodate" HeaderText="Del date" DataFormatString="{0:dd-MM-yyyy}" />
<asp:BoundField DataField="mstpayDes" HeaderText="PayDes">
<FooterStyle Wrap="False" />
<HeaderStyle Wrap="False" />
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Underline="False" Wrap="False" />
</asp:BoundField>
<asp:BoundField DataField="mstrema" HeaderText="Remark">
<ItemStyle Width="70px" Wrap="True" />
</asp:BoundField>
<asp:BoundField DataField="mstchno" HeaderText="PoRefNo" />
<asp:TemplateField HeaderText="Print">
<ItemTemplate>
<%--<asp:LinkButton ID="LinkButton1" runat="server" onclick="lnkPrint_Click" OnClientClick="window.open ('Report.aspx','mywindow','width=350,height=250');">Print</asp:LinkButton>--%>
<asp:LinkButton ID="lnkPrint" runat="server" OnClick="lnkPrint_Click">Print</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Delete">
<ItemTemplate>
<%--<asp:LinkButton ID="LinkDelete" runat="server" OnClick="LinkDelete_Click">Delete</asp:LinkButton>--%>
<asp:ImageButton ID="DeleteButton" runat="server" Width="20px" Height="20px" OnClientClick="if (!window.confirm('Are you sure you want to delete this item?')) return false;"
OnClick="LinkDelete_Click" ImageUrl="~/images/delete.png" CommandName="delete">
</asp:ImageButton>
<controlstyle width="20px" height="20px" />
<itemstyle width="50px" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle BackColor="#2461BF" />
<FooterStyle BackColor="#424242" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#424242" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#424242" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
</asp:GridView>
<!-- </div>-->
</asp:Panel>
<%-- </ContentTemplate>
</asp:UpdatePanel>--%>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</fieldset>
</div>
JQuery
<script>
$(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.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('item1.autocomplete', item).append('<a>' + item.Name + '</a>').appendTo(ul);
};
}
</script>