我有一个bootstrap模式的表单,我想用它来编辑记录值。但是,没有检测到这些更改。当我编辑任何字段并保存模式时,jquery的.serialize()函数仍然提取最初显示在模式中的旧值。我确认没有检测到新值,方法是更改模式中的值,然后在控制台中使用jquery命令显示字段的当前值。所以.serialize()函数不是问题所在。浏览器(或jquery)就是不接受这些变化。
我已经在程序的其他部分使用了模态,它们工作得很好。所以我已经做了比较,但没有看到任何可以让它在程序的一部分工作的东西,但这里不是。
以下是来自模型的原始输入:
<input type="text" class="form-control" id="immundesc" name="immundesc" value="original value">我将模式上的值更改为"my changes“,但控制台仍然显示原始值:
$("#immundesc").val(); "original value"只是一些额外的信息。该模式是从ajax生成的表的链接启动的。我已经在我的程序中的其他区域成功实现了这一点,但使用的是表格中的按钮。我不确定这和这件事有什么关系。
有没有人有过类似的经历?
发布于 2017-05-25 11:22:57
我不明白你的麻烦。如果在DOM中只有一个带有immundesc标识符的输入,那么它工作得很好。尝试使用下面的代码片段。
$("button").click(function() {
console.log($("#immundesc").val());
});<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>
检查您的页面是否存在重复的immundesc标识符。
发布于 2017-05-25 21:05:04
我实际上设置了两个模态。一个是我用来添加记录的,另一个是没有检测到我用于编辑的更改的。我之所以这样做,是因为我在页面的不同区域使用add模式进行了大量不同的插入。我认为将添加和编辑分开会更容易,这样我的代码就会更有条理。我尝试在添加和编辑时使用相同的模式,并且它起作用了!它现在可以立即检测到这些变化。
似乎bootstrap或jquery不喜欢在一个页面上设置2个模态。有没有人知道这一点的原因,或者知道这个限制?如果是这样,请分享您的知识,以便其他开发人员可以避免此问题。
谢谢!
https://stackoverflow.com/questions/44171613
复制相似问题