将两个自定义Jquery函数放入外部脚本
我有以下两个函数,我需要帮助将它们移动到外部文件中将两个自定义Jquery函数放入外部脚本,jquery,external,Jquery,External,我有以下两个函数,我需要帮助将它们移动到外部文件中 $.fn.clearSelect = function () { return this.each(function () { if (this.tagName == 'SELECT') this.options.length = 0; }); } $.fn.addItems = function(data) { retu
$.fn.clearSelect = function () {
return this.each(function () {
if (this.tagName == 'SELECT')
this.options.length = 0;
});
}
$.fn.addItems = function(data) {
return this.each(function () {
var list = this;
$.each(data, function (index, itemData) {
var option = new Option(itemData.Text, itemData.Value);
list.add(option);
});
});
}
我需要做什么特别的事吗?
我试图自己做这件事,我想到了以下几点,但我得到了一个“uncaughtsyntaxerror:uncontractedtoken”
谢谢您最初的方法应该是可行的……只需确保在jQuery本身之后包含该文件即可 另一个选项是扩展
$.fn
,类似于第二次尝试,如下所示:
(function($) {
$.fn.extend({
clearSelect: function() {
return this.each(function() {
if (this.tagName == 'SELECT') this.options.length = 0;
});
},
addItems: function(data) {
return this.each(function() {
var list = this;
$.each(data, function(index, itemData) {
var option = new Option(itemData.Text, itemData.Value);
list.add(option);
});
});
}
});
})(jQuery);
.是的,看起来它正在你的测试现场工作。我猜我自己的页面上还有其他错误,导致它抛出一个新的未捕获类型错误:Object#没有“clearSelect”方法。谢谢你的帮助。
(function($) {
$.fn.extend({
clearSelect: function() {
return this.each(function() {
if (this.tagName == 'SELECT') this.options.length = 0;
});
},
addItems: function(data) {
return this.each(function() {
var list = this;
$.each(data, function(index, itemData) {
var option = new Option(itemData.Text, itemData.Value);
list.add(option);
});
});
}
});
})(jQuery);