У меня есть эта кодировка для получения параметров автозаполнения из базы данных и создания списка в этом текстовом поле.Я выбираю несколько вещей из выпадающего списка и из выбранных элементов, которые я отображаю в этом текстовом поле.Это работает, но я столкнулся с двумя проблемами здесь.
- Я получаю опции только тогда, когда я начинаю печатать в текстовом поле.Но я хочу всякий раз, когда по текстовому полю нажимают.
И список опций не появляется один за другим ... он показывает как prargraph..3 элементов в строке ... Но я хочу, чтобы он был каксписок.
function SearchText() {
$("#<%= EndClient_Txt.ClientID %>").autocomplete({
source: function(request, response) {
var obj = {};
obj.pcat = $.trim($("[id*=Cmb_PrdCat]").val());
obj.domain = $.trim($("[id*=Cmb_Domain]").val());
obj.region = $.trim($("[id*=Cmb_Reg]").val());
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "SalesOrderInput.aspx/GetClientName",
data: JSON.stringify(obj),
dataType: "json",
success: function(data) {
response($.map(data.d, function(item) {
return {
value: item
}
}))
},
error: function(result) {
alert("No Match");
}
});
}
}).on('focus',function(){
$(this).keydown();
});
}
</script>
Мой код aspx.vb
<Services.WebMethod()> _
Public Shared Function GetClientName(ByVal pcat As String, ByVal domain As String, ByVal region As String) As List(Of String)
Dim empResult As List(Of String) = New List(Of String)()
Sql = "SELECT * FROM opportunities where PCategory ='" & pcat & "' and Domain ='" & domain & "' and Region='" & region & "'"
Dim cmd = New MySqlCommand(Sql, conn1)
reader = cmd.ExecuteReader()
While (reader.Read())
empResult.Add(reader("OppName").ToString())
End While
reader.Close()
Return empResult
End Function
Скриншот списка опций ..
Здесь всего 6 опций ... но перечислены в две строки.