【发布时间】:2019-12-17 00:32:07
【问题描述】:
这些问题来自于查看单页应用示例located here。谁能解释为什么尝试使用 JQuery 设置输入控件的值在以下条件下/不起作用?我将包含不变的 HTML,然后呈现一系列我无法解释行为的 Javascript 行。首先是 HTML。
<form>
<div class="container-fluid">
<div class="data-container">
<div class="form-group">
<div class="row">
<div class="col">
<label>Region</label>
<input type="text" class="form-control request-region" id="regionfield" value="test" />
</div>
</div>
</div>
</div>
</div>
</form>
- 如果我运行此代码,它会按预期工作,并且输入框的值为 99。请注意,由于我在下一个示例中发现的问题,我将值设置在两个不同的位置。
$("#regionfield").val(44);
var $entry = $("div").find(".data-container");
$entry.find("#regionfield").val(99);
- 但如果我删除第一行代码并在输入值下方运行它,则输入值为“test”。为什么在第一个实例中设置值现在会失败?
var $entry = $("div").find(".data-container");
$entry.find("#regionfield").val(99);
- 现在,如果我将第一个代码中的 HTML 保存到字符串中,清空控件,然后将其加载回来,为什么这段代码不会导致更新后的值 99 而是原始值“test”?
$("#regionfield").val(44);
var $entry = $("div").find(".data-container");
$entry.find("#regionfield").val(99);
var output = '';
output += $entry.html();
$entry.empty();
$entry.html(output);
更新我刚刚注意到,在使用 Bootply 和 Codeply 进行测试时,我得到了不同的结果。对于Bootply,代码示例#1 的结果是99,但在Codeply 上,结果是“测试”。这让我怀疑该行为与 Bootstrap 有关。
【问题讨论】:
标签: javascript jquery html bootstrap-4 single-page-application