Эй, ребята, во-первых, позвольте мне сказать, что я JQuery Noob! Я хочу сделать простой плагин, который автоматически заполняет HTML-элемент выбора, он отлично работает на первом элементе, но когда я вызываю его снова для заполнения второго, он ничего не добавляет. Вот мои звонки на вкладке ajax, где #product и # new-category являются элементами выбора:
$(function(){
$("#product").popSelect("products");
$("#new-category").popSelect("categories");
});
HTML:
><select id="product" name="product">
> < option value="">Select Product</option>
></select >
><select id="new-category" name="new-category">
> < option value="">Select Category< /option>
></select >
А вот и плагин:
(function(jQuery){
jQuery.fn.popSelect = function(table) {
return jQuery(this).each(function(){
var obj = jQuery(this);
if(this.nodeName.toLowerCase() == 'select'){
jQuery.getJSON("../app/modules/ajax/json.php", { table:table },
function(data){
var options = '';
jQuery.each(data, function(i,item){
options += '<option value="' + item.id + '">' + item.title + '</option>';
});
obj.append(options);
});
};
});
};
})(jQuery);
Странно, если я изменю второй вызов функции
$("#new-category").popSelect("categories");
до
$("[id^='new-category']").popSelect("categories");
тогда он работает нормально, что-то не так с моим селектором?
Спасибо за любую помощь!