想象一下,我有一个文本框(带有自动完成 1.1,而不是最新的 UI 版本)和一个复选框。文本框触发一个 asp.net .ashx 页面,该页面将在 sql-server 上执行一个存储过程并返回结果。
一切正常,但我想添加另一个功能。当复选框被选中时,我希望执行 stored_procedure_1。如果未选中该复选框,则必须执行 stored_procedure_2。默认情况下未选中该复选框。
我的问题:如果复选框被选中,我如何告诉 ashx 页面..?默认情况下,自动完成将触发以下内容:autoCompleteData.ashx?q = myName,并且将执行Stotored_procedure_2,但是当检查复选框时,必须触发它autocompletedata.ashx?q=myname&mycheckbox=begin
,以便执行Stontored_procedure_1。
我是否必须添加一些 jQuery 代码才能通过选中的复选框?我完全迷路了。。
提前致谢。
表单元素:
<input id="search_employee" type="text" class="employee" />
<input type="checkbox" name="mycheckbox" value="begin" />
jQuery:
$().ready(function() {
$("#search_employee").autocomplete("includes/AutocompleteData.ashx", {
minChars: 3,
max: 15,
selectFirst: false,
scrollHeight: 300,
formatItem: function(data, i, n, value) {
if (value.split("_")[3]!== null)
{
return "<img style = 'width:40px;height:53px;float:left; margin:2px 5px 2px 0' src='/pictures/thumbs/"
+ value.split("_")[3] + "'/> " + value.split("_")[0] + "<br /><span class=smallname>" + value.split("_")[2] + "<br/>" + value.split("_")[4] + "</span>";
}
},
formatResult: function(data, value) {
return value.split("_")[0];
}
});
autocompletedata.ashx 的一部分:
Dim searchname As String = context.Request.QueryString("q")
Dim searchstart as string = context.Request.QueryString("mycheckbox")
Dim searchsql as string
if searchstart = "begin" then
searchsql = "stored_procedure_1"
else
searchsql = "stored_procedure_2"
end if
Dim conn As SqlConnection = New SqlConnection
conn.ConnectionString = ConfigurationManager.ConnectionStrings("MyConn").ConnectionString
Dim cmd As SqlCommand = New SqlCommand
cmd.CommandType = Data.CommandType.StoredProcedure
cmd.CommandText = searchsql.ToString
cmd.Parameters.AddWithValue("@SearchText", searchname)