我正在尝试编写一个jQuery插件来自动填充选择框,但我对在“each”函数中使用this关键字感到磕磕绊绊。代码如下:
(function($) {
$.fn.addOptionsTable2 = function() {
options = {
values : text [...]
};
$.each(options, function(val,text) {
this.append(
$('<option></option>').val(val).html(text)
);
});
}
})(jQuery);
这似乎不起作用,我认为问题是“这个”参考。 我怎样才能完成这项工作,以及我的代码中“this”指的是什么?
答案 0 :(得分:3)
$.each
将this
设置为当前对象(用于循环)。
试试这个:
var that = this;
$.each(options, function(val,text) {
that.append(
$('<option></option>').val(val).html(text)
);