我正在寻找问题的解决方案。我无法找到并回答,也许是因为我不知道如何在搜索问题中解释我的问题..
我有一个包含注册表的表,在每个人中,我都有一个编辑按钮,它打开一个 Bootstrap 对话框,并显示一个包含该注册表的值(通过ajax获取)的表单:
$("[href=edit]").click(function(e){
e.preventDefault();
var id = $(this).attr("data-id");
$('#editModal').modal('show');
$.post("tasas/get/",{id: id}, function(data){
var form = $(data).find("div#editForm");
$('.modal-body').html(form);
$('#editModal').on("click","#acceptButton",function(){
var concept = $('.modal-body [name=concept]').val();
alert(concept);
$('#frmEdit').submit();
});
});
});
$.post("tasas/get") 返回给我一个完整的网站,我在其中特别找到包含以下表单的 div:
<div id="editForm">
<form name="editRegistry" method="post" id="frmEdit" action="">
<input type="hidden" name="codigo" value="<?=$code?>">
<label><span>Concept</span></label>
<input type="text" name="concept" value="<?=$concept?>" />
<label><span>Tipo</span></label>
<select name="tipo">
<option selected="selected" value="<?=$tipo?>"><?=$tipo?></option>
<option value="$">$</option>
<option value="%">%</option>
</select>
<label><span>Valor</span></label>
<input type="text" name="valor" class="small" value="<?=$valor?>" />
</form>
</div>
其中的值由 php 结果设置。无论如何,当我提醒我在打开的对话框中的表单上发生更改时,它总是向我显示原始值。示例:
表单设置了概念值:“A”。我在表单上将其更改为“B”,当我单击接受按钮时,警报显示“B”内有“A”,这使得我无法编辑注册表。
有人知道为什么吗?
最佳答案
终于我解决了...我所做的一切都很好。问题是,当我执行 .html(form) 部分时,我正在复制代码,因为我有多个带有 .modal-body 类的对话框
所以我替换:
$('.modal-body').html(form);
由
$('#editModal .modal-body').html(form);
它有效!
向 Jeremy Tille 和 epascarello 尝试解决这个问题表示敬意!
关于javascript - 我在对话框表单上的输入值未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28564581/