У меня возникают проблемы с созданием динамических текстовых полей с помощью автоматического завершения действия. У аналогичной должности в: jquery auto complete for dynamically generated textboxes есть идея, которую я хочу, но поскольку я все еще изучаю языки, необходимые для этого, я не понимаю, как включить это решение. Я вполне мог ошибаться, что проблема с тегом id. Любая помощь приветствуется. У меня такое чувство, что автозаполнение не запускается после загрузки страницы, но, как я уже говорил, я не уверен, как это исправить. Всем спасибо.Динамические текстовые поля с функциональностью автозаполнения
функция автозаполнения в данный момент:
<script>
$(function bindAutoComplete(classname) {
var availableTags =[]; //output for autocomplete
var firstNameArray=[]; //pull first names from database
var lastNameArray=[]; //pull last names from database
var combinationFirstName=[]; //seperate array for manipulation and combination
var combinationLastName=[]; //seperate array for manipulation and combination
//pulling the data
firstNameArray="${fullList?.firstName}";
lastNameArray="${fullList?.lastName}";
//Strip the leading [ and all ,'s from the array still need to remove ]
combinationFirstName=firstNameArray.split(',');
combinationFirstName[0]="";
combinationLastName=lastNameArray.split(',');
combinationLastName[0]="";
//combine the two lists
for (i = 0; i < ${fullList?.firstName?.size()}; i++) {
availableTags.push(combinationFirstName[i] + combinationLastName[i])
}
$(tags).autocomplete({
source: availableTags
});
});
</script>
Динамические коробки на данный момент:
<script> $(document).ready(function() {
var max_fields = 20; //maximum input boxes allowed
var wrapper = $(".input_fields_wrap"); //Fields wrapper
var add_button = $(".add_field_button"); //Add button ID
var x = 1; //initlal text box count
$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(x < max_fields){ //max input box allowed
x++; //text box increment
$(wrapper).append('<div><g:textField name="firstName" id="tags"/><a href="#" class="remove_field"><span> Remove</a></div>');
}
});
$(wrapper).on("click",".remove_field", function(e){ //user click on remove text
e.preventDefault(); $(this).parent('div').remove(); x--;
})
});
</script>
HTML, также
<div class="input_fields_wrap">
<button class="add_field_button">Add More Employees</button>
<div><g:textField name="firstName" id="tags"/></div>
</div>
Насколько я вижу '$ (теги)' даже не допустимый селектор, если вы не сделали теги строковыми. Может быть, вы имели в виду '$ ('# tags')'? – juvian
Я думаю, что это был исходный код, но я думал, что это связано с тем, что я думал о проблеме с идентификационным тегом. Я просто попытался изменить его, и он влияет на основной ящик, но ни один из динамических полей. – tmurphy
У вас не может быть более одного элемента с таким же идентификатором – juvian