Экспорт пользовательского плагина jQuery - PullRequest
0 голосов
/ 08 мая 2018

Я действительно надеюсь, что этот вопрос не закончится помеченным как «уже отвеченный», потому что я тщательно проверил предыдущие вопросы, и моего случая, к сожалению, там нет.

Я уже создал (работающую) функцию jQuery для преобразования формы в объект JSON, чтобы я мог отправить ее на сервер (кстати, это все для образовательных целей, поэтому, пожалуйста, сэкономьте свое время, прежде чем сказать мне) использовать библиотеку lol), и хотя она отлично работает, я хочу сохранить ее в отдельном файле, чтобы мой основной сценарий не выглядел слишком ужасно.

(function ($) {
		$.fn.formToJSON = function(){
			let json = {};
			if($(this).is('form')){
				$.each($(this).find('input'), function(){
					if(this.name && this.value){ //are not empty
						if(this.type === 'checkbox' && this.checked){
							json[this.name] = (json[this.name] || []).concat(this.value || ''); //check if exists
						}else{
							json[this.name]= this.value;
						}
					}
				});
			}
			console.log(JSON.stringify(json));
		}
	})(jQuery);

Что мне нужно сделать, чтобы использовать его, просто импортировав скрипт в файл HTML?

Кстати, следующие паттерны функций - это не то, что я ищу в своем скрипте.

(function($) {

    $.fn.helloWorld = function() {

        return this.each( function() {
            $(this).text("Hello, World!");
        });

    }

}(jQuery));

Буду признателен, если кто-нибудь поможет мне достичь цели, использующей мой скрипт, подобный этому (я уже могу использовать это, но для этого нужна функция, которая должна быть в основном скрипте):

$('form').formToJSON();

1 Ответ

0 голосов
/ 08 мая 2018

Не берите в голову, я только что выяснил, все, что мне нужно сделать, это добавить несколько объявлений функций в мою функцию jQuery IIF (Немедленно вызванная функция).

(function($){
	$.fn.logme = function(){
		console.log(this);
	}

	$.fn.logHi = function(){
		console.log('hi!');
	}

})(jQuery)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...