html渲染后jQuery输入值不会立即更改

时间:2017-08-24 23:44:59

标签: javascript jquery html handlebars.js

正如您在此处看到的,此函数正在将html加载到我的文件中的表单类中。 (quest [q]找到正确的html模板,从未显示的模板数组加载。

正在加载的html具有id为p的输入。正如您所看到的,我正在尝试在加载后设置输入值。

然而,我不能让这个工作。

加载了正确的html,但是没有加载该值。我必须调用该函数两次(双击)以获取jquery然后更改值。

任何有关如何使其发挥作用的建议都会很棒。我有多个具有唯一值的模板,我希望动态重新加载。将来,将在函数中传递一个id,以获取与正在加载的模板关联的正确数字。现在我只是在测试。

谢谢

这是加载到.form上的html。请参阅ID #p。

<div class="question animated slideInUp">
    <h2>Enter Your Estimated Yearly Income</h2>
    <form onsubmit="Obj(this.income.name,this.income.value)">
        <input min=1 type="number" id="p" name="income" value="" required>
        <input type="submit" value="Submit"> </form>
</div>


function redo(q) {

    q = Number(q);

    if (q + 1 != iterator) {
        iterator++;
        $('.form').load(quest[q])
        $('#p').val(data.income);

    }
}

1 个答案:

答案 0 :(得分:0)

在.load中,您可以使用在呈现html之后调用的回调函数。这适用于在输入中呈现适当的值。

不幸的是我有一个大脑放屁,但它现在很好用!

function redo(q) {
console.log(data);
q = Number(q);
console.log(q);
if (q + 1 != iterator) {
    iterator++;
    return $('.form').load(quest[q],function(){
        $('#p').val(data.income);
    })


}

}