2012-08-23 18 views
2

我有一個controlgroup,我正在動態添加和刪除ui-btn-active類來切換活動按鈕。按鈕切換正常,但我似乎無法找到一種方法來改變活動按鈕主題。更改控制組活動按鈕主題

我想在活躍的按鈕來使用d主題和活動 按鈕使用a主題。

有誰知道我該怎麼做?

enter image description here

HTML:

<div data-role="controlgroup" data-type="horizontal"> 
    <a href="#" data-role="button" data-inline="true" data-mini="true" id="myApptBtn">My Appointments</a> 
    <a href="#" data-role="button" data-inline="true" data-mini="true" id="allApptBtn">All Appointments</a> 
</div> 
+0

誤讀了問題 - 請忽略我的回覆。謝謝。 –

回答

2

好吧,這就是我最終做的。

的jQuery:

$('[data-role="page"]').live('pageshow', function() { 
    $('#myApptBtn').addClass('ui-btn-active'); 

    $('#myApptBtn').click(function() { 
     $('#allApptBtn').removeClass('ui-btn-active'); 
     $('#myApptBtn').addClass('ui-btn-active'); 
    }); 

    $('#allApptBtn').click(function() { 
     $('#myApptBtn').removeClass('ui-btn-active'); 
     $('#allApptBtn').addClass('ui-btn-active'); 
    }); 
}); 

HTML:

<li data-theme="d" class="li-state-small" style="text-align: center;"> 
    <div data-role="controlgroup" data-type="horizontal" class="btnFontSize12"> 
     <a href="#" data-role="button" data-inline="true" data-mini="true" id="myApptBtn">My Appointments</a> 
     <a href="#" data-role="button" data-inline="true" data-mini="true" id="allApptBtn">All Appointments</a> 
    </div> 
</li> 



答覆:

因此,事實證明,你不能通過標記覆蓋主題。

Global "Active" state

jQuery Mobile框架採用了一種名爲「主動」斯沃琪(明亮的默認主題藍色 )一致表示選中狀態, 不管給定的組件的個體樣本的。我們在導航中應用此 ,並在需要指示 當前選擇的內容時形成控件。由於此主題色板專爲 清晰,一致的用戶反饋設計,因此無法通過 標記覆蓋它;它在主題中設置一次,並且在需要選定或活動狀態時由框架 應用。這種 狀態的樣式位於ui-btn-active樣式規則下的主題樣式表中。

+0

這解決了我嘗試更改主題時遇到的問題!謝謝! – Nisk

0

您可以使用jQuery的.addClass.removeClass函數來執行此操作。只需設置活動和非活動類,並在jQuery的幫助下改變它們。

這裏是例子。我不是jQuery的專業人士,但這是工作正常:Example

+0

我有切換部分工作得很好。我的問題是:如何獲得非活動按鈕以使用d主題和活動按鈕來使用主題?我不想添加任何自定義CSS覆蓋。 –