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

标签 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);

    }
}

最佳答案

在 .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);
    })


}

}

关于javascript - jQuery 输入值在 html 渲染后不会立即更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45872472/

相关文章:

javascript - jQuery Animate 不工作(位置已设置)

php - <form> 和动态生成的链接的问题

JavaScript/jQuery 加载器数学问题

javascript - 如何简化代码以使用 jQuery 将新元素添加到页面?

javascript - 通过 HTML 标签获取对象并从本地存储中移除

javascript - Morris.js折线图中点的颜色和样式如何修改?

javascript - 如何独立移动图像

javascript - 单击按钮时无法移动轮播中的列表项

html - 在(仅)css 中查找浏览器宽度 px 和高度 px

javascript - 如何通过用户输入更改 setInterval 中的时间?