Hey Leute, zuerst lass mich einfach sagen, ich bin ein jQuery noob! Ich möchte ein einfaches Plugin machen, das ein HTML-select-Element automatisch auffüllt, es funktioniert gut auf dem ersten Element, aber wenn ich es erneut anrufe, um eine Sekunde zu füllen, fügt es nichts hinzu. Hier sind meine Anrufe in der Ajax-Tab wo #product und # new-Kategorie sind die ausgewählten Elemente:Erste jQuery-Plugin Ausgaben
$(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 >
Und hier ist das Plugin:
(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);
Seltsamerweise, wenn ich den zweiten Funktionsaufruf $("#new-category").popSelect("categories");
zu $("[id^='new-category']").popSelect("categories");
ändere, dann funktioniert es gut, gibt es Som stimmt etwas nicht mit meinem Selektor?
Danke für jede Hilfe!
Ich würde empfehlen, (function ($) {// code}) (jQuery); - So können Sie die $ Kurzschrift anstelle von jQuery jedes Mal verwenden :) –
Danke! Wie ich schon sagte, ich bin ziemlich neu, also werden alle Tipps sehr geschätzt! Ändere dies so schnell wie möglich! – OtakuD
Haben Sie das irgendwo im Internet, damit ich es anschauen kann? – mkoryak