仅当满足特定条件时,JQuery 才会自动完成
Posted
技术标签:
【中文标题】仅当满足特定条件时,JQuery 才会自动完成【英文标题】:JQuery autocomplete only if certain condition is met 【发布时间】:2016-03-09 09:58:32 【问题描述】:我正在为我的.aspx
页面中的文本框使用 JQuery 自动完成功能。该页面包含一个下拉菜单,用户可以从中选择几个不同的类别,并与一个文本框相结合,他们可以在其中输入搜索词。现在,问题是我只需要自动完成功能即可为其中一个类别选项工作。
我的代码看起来像这样:
.aspx:
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" style="margin-left: 55px; margin-right: 10px;" Height="31px" >
<asp:ListItem Text="Name" Value="Name"></asp:ListItem>
<asp:ListItem Text="JobTitle" Value="JobTitle"> </asp:ListItem>
<asp:ListItem Text="City" Value="City"></asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="TextBox1" runat="server" ClientIDMode="Static" ></asp:TextBox>
下拉/文本框的代码:
void ResultsFilter()
if (DropDownList1.SelectedValue.ToString() == "Name")
ObjectDataSource1.FilterExpression = "Name LIKE '%" + TextBox1.Text + "%' ";
else if (DropDownList1.SelectedValue.ToString() == "JobTitle")
ObjectDataSource1.FilterExpression = "JobTitle LIKE '%" + TextBox1.Text + "%' ";
else if (DropDownList1.SelectedValue.ToString() == "City")
ObjectDataSource1.FilterExpression = "City LIKE '%" + TextBox1.Text + "%' ";
以及用于自动完成的 javascript:
<script type="text/javascript">
$(function()
var availableTutorials = [
"Director",
"Broker",
"Medical",
"R&D",
"Sales Executive",
];
$("#TextBox1").autocomplete(
minChars: 0,
delay: 0,
source: availableTutorials, minLength:0
).on('focus', function() $(this).keydown();
);
);
</script>
所以基本上我只希望在(DropDownList1.SelectedValue.ToString() == "JobTitle")
应用时应用自动完成功能。不知道如何使用 Javascript/Code 来做到这一点。非常感谢任何帮助!
【问题讨论】:
【参考方案1】:你可以这样做:
if($('#<%= DropDownList1.ClientID %>').val() === 'JobTitle')
$("#<%= TextBox1.ClientID %>").autocomplete(
// code
);
你可以在焦点上初始化它而不是加载:
$("#<%= TextBox1.ClientID %>").on("focus", function()
if($('#<%= DropDownList1.ClientID %>').val() === 'JobTitle')
$(this).autocomplete(
// code
);
);
【讨论】:
谢谢,我试过了,但收到错误“当前上下文中不存在名称'DropDownList1'” 其实是一个简单的例子 'if ($('#DropDownList1').val()==='JobTitle') $("#TextBox1").autocomplete // code Your答案让我到了那里,所以我会接受它作为正确答案以上是关于仅当满足特定条件时,JQuery 才会自动完成的主要内容,如果未能解决你的问题,请参考以下文章