html 导出jQuery自定义插件

e0bqpujr  于 2023-02-02  发布在  jQuery
关注(0)|答案(1)|浏览(121)

我真的希望这个问题不会结束标记为'已经回答',因为我已经仔细检查了以前的问题和我的情况下,不幸的是,不发生在那里。
我已经创建了一个jQuery函数(正在工作),用于将表单转换为JSON对象,以便将其发送到服务器(顺便说一句,这都是出于教育目的,所以请在告诉我使用库之前保存您的时间,哈哈),尽管运行良好,但我希望将其保存在一个单独的文件中,这样我的主脚本看起来就不会太糟糕。

(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();
pdtvr36n

pdtvr36n1#

没关系,我刚刚发现我所需要做的就是在我的IIF(立即调用函数)jQuery函数中添加几个函数声明。

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

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

})(jQuery)

相关问题