我尝试创建一个名为'pr2__answer'的文本类型输入,但是当我使用console.log(answer.val())查看它的值时,它显示为'undefined'。我不知道为什么。 这是我的代码的一部分:
var country_capital_pairs = pairs;
var new_pairs = {};
for (var i = 0; i < country_capital_pairs.length; i++) {
new_pairs[country_capital_pairs[i].country] = country_capital_pairs[i].capital;
}
var capital_names = Object.values(new_pairs);
var question = $("#pr2__question");
var answer = $("#pr2__answer");
var len = country_capital_pairs.length;
var Q = country_capital_pairs[Math.floor(Math.random()*len)];
var question_country = Q.country;
question.html(question_country);
answer.autocomplete({
minLength: 2,
source: capital_names,
select: function(evt, ui) {
console.log(ui);
answer.val(ui.item.value);
$("input#pr2__submit").click();
return false;
}
}).focus();
函数answer.autocomplete不起作用。所以我认为问题是程序没有提醒我在输入中输入内容。谁能告诉我为什么? 这是我的HTML代码的一部分:
<tr>
<td id="pr2__question"></td>
<td><input type="text" id=pr2__answer" /></td>
<td><input type="submit" id="pr2__submit" value="seeAnswer()" //></td>
</tr>
答案 0 :(得分:0)
您需要将您的javascript代码放在html页面的末尾,或者将代码放在函数内部:
$( document ).ready(function() {
// your code
});