我有以下两个功能,我需要帮助将这些功能移动到外部文件中。
$.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);
});
});
}
我需要做些什么特别的事吗? 我试图自己做这个,我想出了以下内容,但我得到的是“未捕获的SyntaxError:意外的令牌”。
(function ($) {
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);
由于
答案 0 :(得分:2)
您的初始方法应该有效...只需确保 jQuery本身后包含文件。 You can test it here
另一个选择是扩展$.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);