這個問題是由佩德羅蒙泰羅張貼我的要求,所以,也許我可以更好地解釋它自己。
這個問題是一個例子,我會盡量總結真正的問題。
最初我們有一個超過40K條目的選擇框,這使得網站變得非常緩慢。由於我們已經開始使用名爲Selectize的外部模塊。
選擇什麼是隱藏最初的選擇框並刪除其中的所有條目,然後創建他自己的div,並且應該在最初的選擇框中輸入所有條目。
在實際應用中會發生什麼情況是這樣的: BEFORE:
<select id='test'>
<option value=1>test1</option>
<option value=2 selected>test2</option>
<option value=3>test3</option>
</select>
以後打電話SELECTIZE:
<select id='test>
<option value='2' selected>test2</option>
</select>
<div id='test-selectize'>
<div data-value=1>test1</div>
<div data-value=2>test2</div>
<div data-value=3>test3</div>
</div>
什麼情況是,每一個我選擇在selectize生成組合框的選項裏,他創建在初始選擇框中選定的項目並將其選中。
所以在最初的選擇框中,我只會有'真實的,選定的價值'。
直到這裏一切都完美。我們現在面臨的問題是,這是一個擁有數千條代碼行4年多的開發項目。
而且有很多代碼行會強制通過jquery選擇值到選擇框。像這樣$('#test')。val(3);
但是現在因爲我們使用了Selectize模塊,所以最初的選擇框沒有這個選項。
所以我們想要做的幾乎是一個try/catch,所以當我嘗試通過代碼來改變我的初始選擇框的值時,我抓住該事件而不是'改變'選擇框的值,我會調用我自己的函數,它將選擇Selectize模塊上的值。
簡單的解決方案是抓取過去4年中完成的所有代碼,並在每個地方強制選擇框中的.val我將重新編寫它以使用新模塊,但是,這非常耗時,當然錯誤會出現。
希望這解釋了這個問題更好。
可能重複的[獲取選擇(下拉)的價值改變前](http://stackoverflow.com/questions/4076770/getting-value-of-select-dropdown-before-change) – guradio
這不是什麼我需要......但謝謝你!我的問題有點不同。 –