Mac*_*ver 1 jquery select append
我只是将选项添加到选择标记(也称为下拉列表).为什么第二个循环不起作用?我将不得不花一些时间来调试jQuery,但如果我花费太多时间,我想我会发布这个并继续执行新任务.
这是我的键/值对数组:
var map = {"10":"ten","11":"11","12":"12"};
这不起作用:
jQuery.each(map, function(key, val) {
jQuery(this.Elements.DDLTest).append(jQuery("<option></option>").val(key).text(val));
});
Run Code Online (Sandbox Code Playgroud)
这有效:
for (key in map) {
jQuery(this.Elements.DDLTest).append(jQuery("<option></option>").val(key).text(map[key]));
}
Run Code Online (Sandbox Code Playgroud)
在回调中jQuery.each的this变量中包含当前元素,而不是它在外部作用域中的任何值.
试试这个:
var that = this;
jQuery.each(map, function(key, val) {
jQuery(that.Elements.DDLTest).append(jQuery("<option></option>").val(key).text(val));
});
Run Code Online (Sandbox Code Playgroud)