为什么文本输入的值不明确?

时间:2017-05-05 12:13:18

标签: javascript jquery html input

我尝试创建一个名为'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>

1 个答案:

答案 0 :(得分:0)

您需要将您的javascript代码放在html页面的末尾,或者将代码放在函数内部:

$( document ).ready(function() {
    // your code
});