Я пытаюсь понять, как применять методы jQuery, функции и т. Д. Для элементов, созданных с помощью ajax.
На моей странице находится выпадающий список #cat_id, и в зависимости от выбранного набора создается набор элементов UL. Затем мне нужно вызвать следующую функцию для каждого созданного элемента:
$('#allowSpacesTagsX').tagit({ itemName: 'itemX', fieldName: 'tagsX', availableTags: sampleTagsX, allowSpaces: true });
где allowSpacesTagsX (X = 1,2,3, ....) - это идентификатор созданных элементов UL. Этот метод связывает UL с автозаполняющим виджетами, похожим на элемент тега, используемый в StackOverflow.
Обычно код, указанный выше, будет включен в document.ready для статических элементов, но мне нужно добавить его для каждого элемента, созданного с помощью ajax.
Это небольшой пример кода, чтобы лучше понять мой вопрос:
<script src="../js/tag-it.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
$('#cat_id').live('change', function(e){
$.post('../includes/ajax.php', {
cat_id : $(this).find("option:selected").attr('value')}, function(data) {
$("#tagholder").html(data);
});
});
});
</script>
Редактировать:
пример, чтобы продемонстрировать пример кода, который должен быть создан:
$(function(){//Creates the arrays of tags to be assigned to each tag field
var sampleTags1 = ['USB', 'DVB', 'GSM', 'OEM'];
var sampleTags2 = ['Alfa Romeo', 'Audi', 'Chevrolet', 'Mazda', 'Mercedes'];
var sampleTags3 = ['20cm', '21cm', '8in'];
$('#allowSpacesTags1').tagit({ itemName: 'item1', fieldName: 'tags1', availableTags: sampleTags1, allowSpaces: true });
$('#allowSpacesTags2').tagit({ itemName: 'item2', fieldName: 'tags2', availableTags: sampleTags2, allowSpaces: true });
$('#allowSpacesTags3').tagit({ itemName: 'item3', fieldName: 'tags3', availableTags: sampleTags3, allowSpaces: true });
});