2015-02-24 58 views
0

希望這真的很直接簡單。我無法選擇JQM中的選擇菜單。請看底部的jsfiddle。jquerymobile改變selectmenu中的圖標

我只是想動態地將圖標從低落變爲明星。我似乎無法使用ID甚至'選擇'選擇菜單。只能使用不好的課程。我已經嘗試了很多我已經嘗試過的東西,有人可以展示如何正確地做到這一點。

我期待這個工作。但我已經嘗試過這一點,還有很多沒有運氣。

$('#foo').selectmenu({ icon: "star" }); 

JSFiddle

http://api.jquerymobile.com/selectmenu/#option-iconpos

回答

1
  • 你必須把它在創建頁面之前,這裏是一個JsFiddle與pagebeforecreate。

    $(document).on("pagebeforecreate", "#page", function(event){ 
        $('select').selectmenu({ icon: "star", iconpos: "left" }); 
    });` 
    
  • 您可以使用removeClass和addClass在選擇的母公司,而不是選擇自己創建頁面後:JsFiddle

你絕對需要動態地做到這一點? 否則,你可以只使用數據屬性:

data-icon="star" data-iconpos="left" 
+0

是的。我知道我可以像這樣做,但這實際上是我簡化了一大段代碼的一部分。但是,我似乎在第一步失敗,無法選擇它。 – devsie 2015-02-24 18:24:13

+1

您必須在頁面創建之前調用它,這裏是使用pagebeforecreate的[JsFiddle](http://jsfiddle.net/whu3jL7c/8/)。 – 2015-02-24 18:59:38

+0

謝謝。我用'$(「。selector」)。parent()。removeClass(「ui-btn-icon-right」);'也看到了你的評論。兩者都非常有幫助。謝謝。 – devsie 2015-02-24 19:05:01

1

如果要更改圖標的小部件已經被初始化之後,你可以調用selectmenu(「毀滅」),然後重新初始化:

$('#foo').selectmenu("destroy").selectmenu({ 
    icon: "star", 
    iconpos: "left" 
}); 

DEMO

在演示中點擊按鈕t o將圖標變爲星號並移動到左側。