嘿伙计们,首先让我说我是一个 jQuery 菜鸟!我想制作一个简单的插件来自动填充 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");
它然后工作正常,我的选择器有问题吗?
谢谢你的帮助!