У меня есть текстовое поле поиска, и я хотел бы включить в него проверку автозаполнения. При вводе одной буквы автозаполнения нужно дать вам все названия с этой буквой. Я нашел учебник по этому вопросу, но моя проблема в том, что я хотел бы реализовать две кнопки-переключателя, и если первая из них будет отмечена, она даст вам только подсказку для клиентов, а если будет выбрана вторая, она предложит вам только рекомендации для компаний.
Я пробовал использовать этот код в веб-сервисе .asmx
[WebMethod]
public class Autocomplete : System.Web.Services.WebService
{
[WebMethod]
public List<string> GetClientNames(string searchTerm,string rbtnValue)
{
List<string> clientNames = new List<string>();
string connStr = ConfigurationManager.ConnectionStrings["RheosConnString"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connStr))
{
if (rbtnValue == "radio0")
{
SqlCommand cmd = new SqlCommand("spGetClientNames", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter("@term", searchTerm);
cmd.Parameters.Add(param);
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
clientNames.Add(sdr["ime"].ToString());
}
}
else
{
SqlCommand cmd = new SqlCommand("spGetCompanyNames", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter("@term", searchTerm);
cmd.Parameters.Add(param);
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
clientNames.Add(sdr["naziv"].ToString());
}
}
}
return clientNames;
}
}
Мой Javascript выглядит следующим образом
<script type="text/javascript" language="javascript">
$(function () {
$('#<%=txtSearch.ClientID%>').autocomplete({
source: function (request, response) {
var value = $("form input[type='radio']:checked").val();
$.ajax({
url: "Autocomplete.asmx/GetStudentNames",
data: {searchTerm: request.term, rbtnValue:value},
type: "POST",
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (data) {
response(data.d);
},
error: function (result) {
alert('Postoji problem s dohvaćanjem zahtjeva');
}
});
},
minLength: 0
});
});
</script>
Нужно ли реализовать что-то еще для радиокнопок. Моя ценность - радио0 и радио1. Спасибо!