未检测到Bootstrap模态表单更改

时间:2017-05-25 03:05:37

标签: jquery ajax bootstrap-modal

我在bootstrap模式中有一个表单,我试图用它来编辑记录值。但是,未检测到更改。当我编辑任何字段并保存模态时,jquery的.serialize()函数仍然会获取最初在模态中显示的旧值。我确认通过更改模态中的值未检测到新值,然后在控制台中使用jquery命令显示字段的当前值。因此,问题不在于.serialize()函数。浏览器(或jquery)只是没有获取更改。

我在程序的其他部分使用了模态,它们工作正常。所以我已经进行了比较,但是没有看到任何可以使它在程序的某个部分工作但不在这里的东西。

这里是模态的原始输入:

<input type="text" class="form-control" id="immundesc" name="immundesc" value="original value">

我将模态的值更改为&#34;我的更改&#34;但控制台仍显示原始值:

$("#immundesc").val(); "original value"

只是一些额外的信息。模式是从ajax生成的表的链接启动的。我在我的程序中的其他一些区域取得了成功,但是使用了表格中的按钮。不确定这是否与它有任何关系。

有没有人遇到类似的事情?

2 个答案:

答案 0 :(得分:1)

我不明白你的麻烦。如果DOM中只有一个带有immundesc标识符的输入,那么它可以正常工作。尝试使用下面的代码段。

&#13;
&#13;
$("button").click(function() {
 console.log($("#immundesc").val());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="form-control" id="immundesc" name="immundesc" value="original value">
<button>Change value and click Me!</button>
&#13;
&#13;
&#13;

检查您的网页是否有immundesc标识符的副本。

答案 1 :(得分:0)

我实际上有2个模态设置。我用来添加记录的那个和没有检测到我用于编辑的更改的记录。我这样做是因为我在页面的不同区域使用了添加模式来进行大量不同的插入。我认为分开添加和编辑会更容易,因此我的代码组织得更好。我尝试使用相同的模式进行添加和编辑,并且它有效!它现在可以立即检测到这些变化。

似乎bootstrap或jquery不喜欢在页面上设置2个模态。有人知道这个的原因还是知道这个限制?如果是这样,请分享您的知识,以便其他开发人员可以避免此问题。

谢谢!