在html呈现后jQuery输入值不会立即改变
问题描述:
正如您在此处看到的,此函数将html加载到我的文件中的表单类上。 (quest [q]找到正确的html模板以从未显示的模板数组加载。在html呈现后jQuery输入值不会立即改变
正在加载的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);
})
}
}
刚一说明:这将是一个更容易阅读,如果压痕是固定的。也有丢失的右括号 –
我真的不明白你想要做什么,你的代码似乎没有包含很多相关信息 – quirimmo
在发布的代码中没有承诺,但'load'是异步的。你不是真的在告诉我们这是什么问题吗? – adeneo