JS 코드를 양식 세트에 적용하는 방법을 고수하겠습니다.Form-Set에서 jQuery 자동 완성을 적용하는 방법은 무엇입니까?
나는이 HTML했습니다 :
<input id="id_form-0-city" name="id_form-0-city" type="hidden">
<input id="id_form-0-city_input" name="id_form-0-city_input">
을 그리고 자동 완성 # id_form-0-city_input 입력이 JS/jQuery 코드를 사용합니다.
는// Autocomplete stuff
$("#id_form-0-city_input").autocomplete({ // mudar!!!!
source: function(request, response) {
$.ajax({
url: "/internalapi/cidades/",
dataType: "json",
data: {
country: $('#id_country').find(":selected").val(),
term: request.term.toLowerCase()
},
success: function(data) {
response($.map(data, function(item) {
return {
label: item.name + " (" + item.zone + ", " + item.municipality + ")",
value: item.name,
id: item.id
}
}));
}
});
},
minLength: 2,
select: function(event, ui) {
var selectedObj = ui.item;
// Popular o campo id_city
$("#id_form-0-city").val(selectedObj.id);
},
search: function(event, ui) {
$("#id_form-0-city_input").addClass("ui-autocomplete-loading"); // mudar!!!!!
},
open: function() {
$("#id_form-0-city_input").removeClass("ui-autocomplete-loading"); // mudar!!!!
$(this).removeClass("ui-corner-all").addClass("ui-corner-top");
},
close: function() {
$(this).removeClass("ui-corner-top").addClass("ui-corner-all");
}
});
위의 코드는 잘 작동하지만, 지금은이 경우이 자동 완성 코드를 사용해야합니다 세트의 수는 최소가 될 수
<input id="id_form-0-city" name="id_form-0-city" type="hidden">
<input id="id_form-0-city_input" name="id_form-0-city_input">
<input id="id_form-1-city" name="id_form-0-city" type="hidden">
<input id="id_form-1-city_input" name="id_form-0-city_input">
<input id="id_form-2-city" name="id_form-0-city" type="hidden">
<input id="id_form-2-city_input" name="id_form-0-city_input">
<input id="id_form-3-city" name="id_form-0-city" type="hidden">
<input id="id_form-3-city_input" name="id_form-0-city_input">
<input id="id_form-4-city" name="id_form-0-city" type="hidden">
<input id="id_form-4-city_input" name="id_form-0-city_input">
...
...
1 및 최대 10
JS/jQuery 코드를 리팩터링하여 형식 세트로 작업 할 수있는 아이디어를 얻을 수 있습니까? for 루프를 사용해야합니까?
각 입력에 클래스를 적용한 다음 코드를 사용하면서'$ ("# id_form-0-city_input") .autocomplete()를'$ (".class") .autocomplete)'? 또한'$ ("# id_form-0-city_input")'의 인스턴스는'$ (this) .prev()'로 변경됩니다. – Dom