2017-05-25 57 views
0

我有一個引導模式的表單,我試圖用來編輯記錄值。但是,這些更改未被檢測到。當我編輯任何字段並保存模態時,jquery的.serialize()函數仍在拾取最初顯示在模態中的舊值。我確認新值不會通過更改模式中的值來檢測,然後在控制檯中使用jquery命令來顯示字段的當前值。所以它不是.serialize()函數就是問題所在。瀏覽器(或jQuery)只是沒有拿起更改。引導程序模式窗體更改不被檢測

我已經在程序的其他部分使用模態,他們工作正常。所以我做了比較,但沒有看到任何會使它在程序的一部分工作但不在這裏的東西。

下面是模態的原始輸入:

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

我改變了模態值設置爲「我的變化」,但控制檯仍顯示爲原始值:

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

只是一些額外的信息。該模式正在從ajax生成的表中的鏈接啓動。我已經在我的程序的其他一些領域取得了成功,但使用表中的按鈕代替。不知道這是否與它有任何關係。

有沒有人遇到類似的東西?

回答

1

我不明白你的麻煩。如果在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標識的重複。

+0

我的輸入沒有任何重複的標識符。無論如何,我試圖改變ID和名稱,只是爲了看看這是否是問題,並且這些更改仍未被檢測到。我知道這似乎很簡單。有點奇怪。 – hotstreak

0

我實際上有2個模態設置。其中一個用於添加記錄,另一個用於未檢測到用於編輯的更改。我這樣做是因爲我在頁面的不同區域使用了很多不同插入的add模式。我認爲分開添加和編輯會更容易,所以我的代碼會更好地組織。我嘗試使用相同的模式進行添加和編輯,它的工作!它現在可以立即檢測到這些變化。

似乎bootstrap或jquery不喜歡在頁面上設置兩個模態。有人知道這個原因或知道這個限制嗎?如果是這樣,請分享您的知識,以便其他開發人員可以避免此問題。

謝謝!