我在每一个GridViewRow的行中都有一个带有TextBox且带有autoComplete的GridView。我已经实现了它并且可以使用它,但是我只能使其与GridView的第一行一起使用。我的问题是如何遍历GridView的所有行并实现autoComplete函数。如您目前所见,我刚刚将行索引设置为零。
这是查询:
<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来告诉它哪些字段应具有自动完成功能。只需使用类和类选择器即可。
将您的TextBox定义更改为此:
<asp:TextBox ID="TextBoxFood" runat="server" CssClass="food-autocomplete"></asp:TextBox>
并将您的jQuery选择器更改为:
$('.food-autocomplete').autocomplete({ //rest of initialization etc
jQuery Selector代码中使用它前面的点来告诉它查找具有food-autocomplete
该类的所有元素,然后它将对所有元素执行自动完成初始化程序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句