Не могу создать элементы внутри плагина JQ - PullRequest
0 голосов
/ 22 января 2012

Я пытаюсь создать простой JQ плагин с вводом и кнопкой:

(function ($) {
    var methods = {
        init: function (options) {
            var settings = $.extend({
                'label': 'File'
            }, options);

            return this.each(function () {
                var $this = $(this);
                $this.append = $('<label>' + settings.label + ':</label>');
                $this.append = $('<input type="text" id="textInput">');
                $this.append = $('<button>browse..</button>');
            });
        }
    };

    $.fn.openFileDialog = function (method) {
        // Method calling logic
        if(methods[method]) {
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
        } else if(typeof method === 'object' || !method) {
            return methods.init.apply(this, arguments);
        } else {
            $.error('Method ' + method + ' does not exist on jQuery.openFileDialog');
        }
    };
})(jQuery);

Я также пытался создавать элементы, используя document.createElement(). В обоих случаях ничего не создается внутри целевого элемента. Что мне здесь не хватает?

1 Ответ

0 голосов
/ 22 января 2012

возможно?

$this.append('<label>' + settings.label + ':</label>'+'<input type="text" id="textInput">'+'<button>browse..</button>');

ИЛИ

$('<label>' + settings.label + ':</label><input type="text" id="textInput"><button>browse..</button>').appendTo($this);
...