我到处寻找,但我找不到解决这个问题的办法。我花了几个小时调试,我也无法弄清楚自己是怎么回事。我很抱歉,如果这是一个简单的解决方案,我似乎无法得到它。
我有一个空的选择框,如下所示:
<p id='draftChoice' class='hide'>
Select draft choice:
<select id='draftList'>
</select>
<input type=submit value='Draft' id='draft'>
</p>
单击草稿时,将运行:
draftRound = function() {
var draftee = document.getElementById('#draftList').value;
prospectPool.splice(draftee, 1);
prospectPool.players.splice(0, 13);
};
但是,我收到一个错误:“未捕获的TypeError:无法在此行读取null的属性'值':
var draftee = document.getElementById('#draftList').value;
我最好的猜测是,当我填充框时,没有正确定义值,我在这里做:
createDraftList = function() {
//$('#right').html("");
//$('#draftList').html("");
for (var i = 0; i < prospectPool.players.length; i++) {
$('#right').append("<h4>" + prospectPool.players[i].name + "</h4><div><p>" + prospectPool.players[i].overall + "<br>" + prospectPool.players[i].position + "<br>" + prospectPool.players[i].playerType);
}
$('#right').accordion();
$('#draftChoice').removeClass('hide');
$(prospectPool.players).each(function() {
$('#draftList').append($("<option>").attr('value',this.name).text(this.name)) + "</option>";
});
};
作为一个后续问题,我希望本草案有多个“回合”。当我这样做时,我想更新选择框,以及我在屏幕上的手风琴(填充在最后一个文本块中)。我当前的方法使用了两条注释掉的行。当我这样做时,会显示正确的文字,但我丢失了手风琴格式,我不知道为什么。任何可以提供帮助的人,我都非常感激!
答案 0 :(得分:2)
更改
document.getElementById('#draftList')
到
document.getElementById('draftList')
#
仅用于CSS。当您按ID抓取元素时,它只需要实际ID。