如何追加到另一页上的选择下拉菜单?
问题描述:
我正在创建一项服务,允许您创建团队或基于用户的挑战。使用HTML 5规范来设计页面,我遇到了一个附加到位于另一个页面的下拉列表的问题。整个功能位于两页内,主要通过对其他页面进行AJAX调用。有一个小函数可以将一个团队的两个属性添加到下拉列表中,但我似乎无法使其正常工作。如何追加到另一页上的选择下拉菜单?
代码:
var teams = $.parseJSON(getAllTeams());
$('#multiPurpose').load('allTeams2.html #teamSelect');
for (i = 0; i < teams.length; i++) {
var team = $.parseJSON(getTeam(teams[i]));
if (team.ownerID === userID) {
$(
"<option value='" + team.teamID + "'>" + team.teamName
+ "</option>").appendTo('#teamSelection');
}
}
}
的#teamSelection包含在#teamSelect专区内。任何帮助都会很棒。
答
在.load()中添加回调函数将解决该问题。基本上,你正在告诉它在运行for循环之前加载该div中的所有内容。
$('#multiPurpose').load(
'allTeams2.html #teamSelect',
function() {
for (i = 0; i < teams.length; i++) {
var team = $.parseJSON(getTeam(teams[i]));
if (team.ownerID === userID) {
$(
"<option value='" + team.teamID + "'>"
+ team.teamName + "</option>")
.appendTo('#teamSelection');
}
}
});
愚蠢的问题:你确定#teamSelection实际上存在吗?换句话说,如果在appendTo之前执行'console.log($('#teamSelection'))',你真的看到它了吗? – machineghost 2012-07-10 00:32:27