2012-03-06 25 views
1

我有一個jQuery Mobile的SELECT,哪些選項是動態變化的,我需要從本地更改選擇自定義選擇顯示的選項(數據本機菜單)選項的數量(並且不改變頁面)。本地和自定義之間切換使用jQuery取決於選擇移動

例如:如果我按下一個按鈕,我將select中的選項數量動態改變爲5,我想將選擇顯示爲本地,然後,如果我按另一個按鈕,我將選項更改爲2 ,所以我想將它顯示爲自定義。

任何想法?可能嗎?

回答

0

有可能只有兩個選擇框?一個應用了樣式,一個沒有?然後根據您使用的集合的大小,只顯示正確的選擇框?

我試着創建一個動態應用/刪除jquery移動樣式到1選擇框的例子,我只是不確定它可能。

0

由於JQM自定義選擇確實涉及到非常持續的DOM修改(想想子頁面中包含與您的原始選擇鏈接的所有選項列表),我不知道您是否可以輕鬆地在兩種模式之間切換。

您可以隨時重新選擇修改的選項數目,像這樣經過:

//refresh value   
$('select').selectmenu('refresh'); 

//refresh and force rebuild 
$('select').selectmenu('refresh', true); 

JQM docs服用。試着在這裏添加/刪除data-native-attribute,看看會發生什麼。

我通常像這樣在頁面加載設置選擇:

$('div:jqmData(role="page").basePage').on('pagebeforecreate', function() { 

    // Jquery Mobile Custom Select 
if (!$.support.touch) {  
    $(this).find('select').attr('data-native-menu',false); 
    } 
}); 

在觸摸設備上這樣,所有選擇將獲得數據母語菜單屬性,將「強化」天然選擇,而在桌面上,JQM接管並創建自定義選擇。

我認爲這是「最好看」的做事方式。只要確保在之前添加屬性JQM增強元素。

+0

即時通訊使用的是iPod,刷新選項是沒有問題的,我設置數據本機菜單= false,所以這將是展示作爲本地人,但問題是從本地更改爲定製時的選項更改的數量相同的選擇,做一些像$(選擇).attr('數據本機菜單',真)不要做的伎倆,我試圖改變動態的DOM作爲JQM,但它也不工作,我猜是因爲JQM事件丟失,更多想法¿ – 2012-03-08 19:45:13

+0

您是否嘗試在修改選項後刷新選擇。檢查答案中的鏈接 - http://jquerymobile.com/demos/1.1.0-rc.1/docs/forms/selects/methods.html = call $('select')。selectmenu('refresh'); – frequent 2012-03-08 20:49:41

+0

是的,我試過的第一件事,不幸的是,它沒有工作。忘了提到即時通訊使用JQM 1.0 – 2012-03-08 21:03:47