2014-01-20 49 views
1

我具有類似於下面的代碼的actionsheet:打開actionsheet立即觸發數據動作

<ul data-role="actionsheet" id="marketplace-actions" > 
    <li><a href="#" data-action="getCategoriesByPrice(5)">$$$$$</a></li> 
    <li><a href="#" data-action="getCategoriesByPrice(4)">$$$$</a></li> 
    <li><a href="#" data-action="getCategoriesByPrice(3)">$$$</a></li> 
    <li><a href="#" data-action="getCategoriesByPrice(2)">$$</a></li> 
    <li><a href="#" data-action="getCategoriesByPrice(1)">$</a></li> 
</ul> 

的actionsheet由製表開在這樣一個標籤欄:

<div id="marketplace-tabstrip" data-role="tabstrip" style="font-size:125%; vertical-align:top;"> 
    <a href="#marketplace-recent-view" data-icon="font-flash">Just Added</a> 
    <a href="#marketplace-category-view" data-icon="font-tags">Select Category</a> 
    <!-- this one --> <a data-rel="actionsheet" href="#marketplace-actions" data-icon="font-dollar">Select Price <span class="km-font-resize-full"/></a> 
    <a href="#marketplace-sort-view" data-icon="font-sort-alt-up">Change Order</a> 
    <a href="#marketplace-location-view" data-icon="font-location">Change Location</a> 
</div> 

和功能當點擊一個動作時應該觸發的是:

function getCategoriesByPrice(price) { 
    console.log("function getCategoriesByPrice() called"); 
    console.log("filter Categories by: " + price); 
} 

我的問題是,當我單擊tabstrip但噸,無論選擇哪個選項,無論是默認還是最近選擇,都會觸發所選選項的數據操作事件。這是默認行爲,這是我可以覆蓋的東西嗎?我寧願動作表在顯示上不做任何事情,只有在更改選擇時纔會觸發。

回答

0

我終於從數據操作的函數調用,像這樣刪除的參數來解決此:

<ul data-role="actionsheet" id="marketplace-actions" > 
    <li><a href="#" data-action="getCategoriesByPrice_5">$$$$$</a></li> 
    <li><a href="#" data-action="getCategoriesByPrice_4">$$$$</a></li> 
    <li><a href="#" data-action="getCategoriesByPrice_3">$$$</a></li> 
    <li><a href="#" data-action="getCategoriesByPrice_2">$$</a></li> 
    <li><a href="#" data-action="getCategoriesByPrice_1">$</a></li> 
</ul> 

,創建這樣獨立的功能:

function getCategoriesByPrice_5() { 
    getCategoriesByPrice(5); 
} 

function getCategoriesByPrice_4() { 
    getCategoriesByPrice(4); 
} 

也許Telerik的改變到目前爲止,但在當時,這是我設法得到一個行動表做我想做的事情的唯一途徑。