, поэтому я долгое время (более недели) искал google и stackoverflow и все такое. Кажется, не получается составить компиляцию информации для выполнения этой работы.JQuery Autocomplete/ASP.NET Webhandler, чтобы включить значение другого текстового поля
[ASPX PAGE]
<span>Make</span> <asp:TextBox ID="Make_SearchBox" runat="server" ToolTip="Enter Make"></asp:TextBox>
<span>Model</span> <asp:TextBox ID="Model_SearchBox" runat="server" ToolTip="Enter Model"></asp:TextBox>
[JavaScript]
<%--Autocomplete Function--%>
<script type="text/javascript">
var value = "";
$(document).ready(function() {
$("#PageContent_Make_SearchBox").autocomplete("/WebHandlers/AutoComplete.ashx",{
extraParams: { field: "Make" },
autoFill: false
});
$("#PageContent_Model_SearchBox").autocomplete("/WebHandlers/AutoComplete.ashx", {
extraParams: { field: "Model" },
autoFill: false
});
});
</script>
[ASHX WebHandler - C#]
public void ProcessRequest(HttpContext context)
{
// INITIALIZING NEEDED VARS
string query = "";
string sql = "";
// CHECK "field" QUERY AND PASS TO SWITCH
string field = context.Request.QueryString["field"];
if (field != null)
{
switch (field)
{
case "Make":
query = context.Request.QueryString["q"];
sql = "Select DISTINCT Make from Vehicle Where Make LIKE '%" + query + "%'";
break;
case "Model":
query = context.Request.QueryString["q"];
sql = "Select DISTINCT Model from Vehicle Where Model LIKE '%" + query + "%' AND Make LIKE (((MAKE TEXTBOX VALUE)));
break;
}
}
string connStr = System.Configuration.ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
// CONNECT TO DATABASE, RUN QUERY AND RETURN DATA
using (SqlConnection connection = new SqlConnection(connStr))
using (SqlCommand command = new SqlCommand(sql, connection))
{
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
context.Response.Write(reader.GetString(0) + Environment.NewLine);
}
}
}
}
Вышеперечисленные работы абсолютно нормально с сделать текстовое поле , Когда я типа «игрушку» в сделать поле Он проходит так:
GET http://localhost:26724/WebHandlers/AutoComplete.ashx?q=toy&field=Make
То, что я хочу сделать это после того, как пользователь получает сделать и начинает писать в модели поле он должен искать только модели, относящиеся к этому. Сторона C# является легкой, я полагаю, просто SQL-запрос, но как я могу заставить JQuery принять значение , сделайте текстовое поле и добавьте его в строку запроса. Обратите внимание, что ему нужно захватить значение , чтобы сделать текстовое поле только после того, как оно заполнено не в $ document.ready.
Благодарим вас заблаговременно. Я обязательно отвечу на лучший ответ.
Спасибо человеку. Я пробую ваш метод. Требуется обновление JQuery, поэтому я дам вам знать, что произойдет. – TIPS