2012-03-17 48 views
0

我有一系列的選擇dropboxes設置,根據前面的選擇動態更新內容。它可以很好地選擇系列。使用.selectedIndex與JQuery Mobile框架中的選擇框一起工作的問題

當我試圖回到頂部並重新啓動,即使我已經嘗試使用

my_select.selectedIndex = 0; 

孩子選擇框保持不變重置所有兒童。我以爲這是一個Javascript錯誤,但發現JSFiddle的例子實際上工作,但我在JQuery手機內的代碼不起作用 - 導致我相信這是一個JQuery Mobile相關問題

您可以看到一個JSFiddle示例http://jsfiddle.net/vinomarky/xfcdF/

步驟複製:

  1. 選擇 '殼' 從類型
  2. 選擇5從OD
  3. 變更類型進行油管

的的jsfiddle例如表現爲它應該 - 復位的孩子「 - 」,而我的「活」 jQuery Mobile的例子並不

任何想法,爲什麼?

回答

4

您正在操縱jQuery Mobile背後的DOM,但從不告訴jQuery Mobile有任何更改。

你需要調用refresh method更改後的基本<select>

刷新更新自定義選擇

這是用來更新自定義選擇,以反映本地選擇元素的值。如果選擇的選項數量與自定義菜單中的項目數量不同,它將重新生成自定義菜單。

所以你需要添加這樣的事情:

$('#od').selectmenu('refresh'); 

在你改變處理器的底部。刷新元素呢,當然,取決於你在哪個更改處理

演示:http://jsfiddle.net/ambiguous/n3VXe/

你撥弄工作得很好,因爲它並沒有使用jQuery Mobile的都沒有。

此外,你不應該在2012年使用onchange屬性,你正在加載jQuery,所以你應該使用它來綁定處理程序到你感興趣的事件。你可能想要用你所有的直接DOM操作替換jQuery也是如此。

+0

完美 - 感謝您的答覆和建議 – vinomarky 2012-03-17 04:31:00