Я использую плагин автозаполнения jQuery и подключил поле ввода для извлечения значений из внутренней базы данных при вводе текста, который затем можно выбрать.
Затем у меня есть второе поле ввода, которое я подключил аналогичным образом, однако я хочу передать значение первого поля ввода в качестве параметра строки запроса в вызове ajax autocomplete, чтобы результаты автозаполнения могли быть отфильтрованы.
Я попытался с помощью метода .val () первого поля ввода, но всегда кажется, что это возвращает пустую строку, если я не позволю форме для обратной передачи. Я также попытался просто использовать getElementById ('xxx'). Value, но это возвращает нулевое значение.
Можно ли каким-то образом получить динамическое значение, выбранное в первом поле, чтобы передать его в свой jjuery-вызов ajax на сервер?
Код ниже, некоторые из них удалены для краткости:
<% using (Html.BeginForm()) {%>
<script language="javascript">
$(document).ready(function(){
$("#Make").autocomplete('/MyController/AutoCompleteMake', {
dataType: 'json',
parse: function(data) {
var rows = new Array();
for (var i = 0; i < data.length; i++) {
rows[i] = { data: data[i], value: data[i], result: data[i] };
}
return rows;
},
formatItem: function(row) {
return row;
},
delay: 40
});
$("#Range").autocomplete('/MyController/AutoCompleteRange?Make=' + $('input[name=Make]').val(), {
same as above .......
});
});
</script>
<fieldset>
<legend>Fields</legend>
<p>
<label for="Make">Make:</label>
<%= Html.TextBox("Make") %>
<%= Html.ValidationMessage("Make", "*") %>
</p>
<p>
<label for="Range">Range:</label>
<%= Html.TextBox("Range") %>
<%= Html.ValidationMessage("Range", "*") %>
</p>
<% } %>
Это часть $ ('input [name = Make]'). Val (), которая всегда возвращает пустое значение, даже если оно было выбрано.
Я только начал работать с jQuery и MVC, поэтому любая помощь будет принята с благодарностью.