2016-07-14 76 views
0

是否可以在關閉下拉列表時檢測Bootstrap Muiltiselcts選項是否有任何更改。我想使用作者文檔頁面上記錄的onDropdownHidden事件:onDropDownHidden Event以允許我查看用戶是否從打開下拉菜單後取消選擇或選擇了任何內容。打開多選會有一些預先選擇的選項。我需要知道(特別是)他們是否切換了一個選項(因此不改變初始選擇),所以我可以決定是否調用一個函數來啓動保存新的更改。我想避免在一個選項的onChange之後調用這個函數,如果結果的狀態是相同的話。它與isDirty類似,用於檢查表單上是否有任何控件已被編輯 - 是否有一些類似的技巧用於多選?如何檢測Bootstrap Multiselect中的更改

謝謝。

回答

0

那麼multiselect是否設置了默認值?這些選擇只會在更新/添加某些數據庫時使用嗎?

我真的不知道是否要使用JavaScript或PHP,但如果您使用PHP,是否有意義檢查if isset($multiselectfield){}

或者更簡單,如果它有一個默認值,檢查if ($multiselectfield != defaultvalue) {}。如果它不是默認值,則執行該操作,否則默認值必須一直保留。

只是我的想法,但問題不是完全措辭能夠給你一個足夠的答案。無論如何,我只是在刺探它。

+0

初始化後,多重選擇將從數據庫中檢查一些選項。我通過jquery ajax'$ post()'更新序列化的multiselct數據。然後在PHP中更新表格。我正在思考:閱讀每個選項的初始狀態,存儲所有狀態,然後'onDropdownHidden'比較狀態(如果有任何更改) - 顯示(預先隱藏)「保存更改」按鈕。只是想知道如果這是必要的,如果這是一種更好的內置方法,技術或我不知道的事情。 –

+0

我絕對是你做這件事的一種方式。我相信,然而'onDropdownHidden'更像是一個UI功能。你仍然希望得到它們的值,看看它們是否被設置,所以我不確定你需要檢查'onDrodownHidden'的狀態,但是你應該需要檢查每個選擇的值。您可以通過添加一些條件語句來限制服務器的數量,在實際從POST獲取值之前檢查它們是否已設置。這正是我所想象的,但這聽起來像你在正確的軌道上! –