GridView索引使用asp.net和jQuery
本文关键字:net jQuery asp 索引 GridView | 更新日期: 2023-09-27 18:03:59
我有一个GridView的文本框与自动完成在每个GridViewRow的行。我已经实现了它,它正在工作,但我只能让它与GridView的第一行工作。我的问题是如何遍历GridView的所有行并实现自动完成功能。正如您现在看到的,我刚刚将行索引设置为0。
下面是查询:
<script type="text/javascript">
$(function () {
$('#<%= (GridViewMealData.Rows[0].FindControl("TextBoxFood")).ClientID %>').autocomplete({
source: function (request, response) {
$.ajax({
url: "SearchFoodService.asmx/GetFoodNames",
data: "{ 'FoodName': '" + request.term + "' }",
type: "POST",
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (result) {
response(result.d);
},
error: function (result) {
alert('There is a problem processing your request');
}
});
},
minLength: 0
});
});
</script>
这里是TextBox控件:
<asp:TextBox ID="TextBoxFood" runat="server"></asp:TextBox>
您不必使用客户端ID来告诉它哪些字段应该具有自动完成功能。只需使用类和类选择器。
把你的文本框定义改成:
<asp:TextBox ID="TextBoxFood" runat="server" CssClass="food-autocomplete"></asp:TextBox>
并将jQuery选择器更改为:
$('.food-autocomplete').autocomplete({ //rest of initialization etc
前面的圆点在jQuery选择器代码中用于告诉它查找所有具有food-autocomplete
类的元素,然后它将对所有元素执行自动完成初始化器
我认为最好的方法是为文本框指定一个class,并根据class而不是ID来处理它。
文本框控件:
<asp:TextBox id="TextBoxFood" runat="server" CssClass="AutoCompleteField" />
jQuery :
$('.AutoCompleteField').autocomplete({
source: function (request, response) {
$.ajax({
url: "SearchFoodService.asmx/GetFoodNames",
data: "{ 'FoodName': '" + request.term + "' }",
type: "POST",
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (result) {
response(result.d);
},
error: function (result) {
alert('There is a problem processing your request');
}
});
},
minLength: 0
});