在ASP.NET中,我有一个用户控件,它出现在每个页面上,向用户提供一些搜索选项。该控件包含一个“重置”按钮,用于清除所有字段,我正在尝试处理所有客户端。该控件包含,文本框,日期控件,下拉列表和jQuery自动完成。我可以清除除自动完成之外的每个字段:
$(document).ready(function () {
$("#<%= btnReset.ClientID %>").click(function () {
$(".txtClear").val('');
$(".ddlClear").attr('selectedIndex', 0);
$(".datepicker").val('__/__/____');
var source = $("#<%= acSCAC.ClientID %>").autocomplete("option", "source");
$("#<%= acSCAC.ClientID %>").autocomplete("option", "source", [""]);
$("#<%= acSCAC.ClientID %>").val("");
$("#<%= acSCAC.ClientID %>").autocomplete("option", "source", source);
return false;
});
});
您会注意到我在接近结束时清除自动填充功能的失败尝试之一。
我希望它设置为首次加载页面时的内容 - 其中没有任何内容。
这不可能吗?
答案 0 :(得分:0)
我认为你可以使用destroy方法或将选项设置为空数组,然后重新应用你想要在那里出现的自动完成数据。 (有关此页面上方法标签的更多信息 - http://jqueryui.com/demos/autocomplete/)
$("#<%= acSCAC.ClientID %>").autocomplete("destroy"); //returns input to init status
或
$("#<%= acSCAC.ClientID %>").autocomplete({"source": [""]}); //clears the autocomplete options array
接下来使用原始源数组
中的数据重新加载options数组$("#<%= acSCAC.ClientID %>").autocomplete({"source": originalsourcearray});
我还在jsfiddle.net上展示了我所做的一些事情 - http://jsfiddle.net/tFkjA/15/