2015-02-11 111 views
1

是否有可能在jquery mobile中动态更改data-priority。这就是改变数据优先顺序取决于用户的选择。在jquery mobile中动态更改表数据优先级

<table id="tab" data-role="table" data-mode="columntoggle" class="ui-responsive"> 
     <thead id="th"> 
      <tr id="tr1"> 
       <th>First</th> 
       <th data-priority="1">Second</th> 
       <th data-priority="2">third</th> 
       <th data-priority="3">Fourth</th> 
      </tr> 
     </thead> 

</table> 

在上表user1需要remove the data-priority for third row. User2remove the data-priority for fourth row。那可能吗。

回答

1

它不容易内置到jQM表中,但有一些编码可以完成。

鉴于这种默认表头:

<thead id="th"> 
    <tr id="tr1"> 
     <th>First</th> 
     <th data-priority="1" id="col2th">Second</th> 
     <th data-priority="2" id="col3th">third</th> 
     <th data-priority="3" id="col4th">Fourth</th> 
    </tr>    
</thead> 

JQM使用数据优先级来添加像UI表优先-1,类UI表优先级-2等,以在所述THS头部和身体部位的TD。所以,你可以使用脚本来删除数据的优先级属性和类别,然后告诉表格部件重建

$("#btnUser1").on("click", function(e){ 
    // remove priority on col3 
    ResetToDefaultPriorities(); 
    $("#col3th").removeAttr("data-priority").removeClass(); 
    $('#tab tbody td').removeClass(); 
    $('#tab').table("rebuild"); 
}); 

function ResetToDefaultPriorities(){ 
    $("#col2th").attr("data-priority", '1'); 
    $("#col3th").attr("data-priority", '2'); 
    $("#col4th").attr("data-priority", '3'); 
} 

这里是一个DEMO

+0

谢谢你真的好一个..如果我想改变数据优先级(这是已经assingned 5需要改变1)不能改变..看到这个小提琴http://jsfiddle.net/10x1xy8o/3/ – Vini 2015-02-13 05:27:46

+0

我也试过这个'$ (“#col5th”)。addClass(“ui-table-cell-hidden”);'但该类不会添加到该字段中。 – Vini 2015-02-13 05:29:24

+0

@A nu,您需要删除优先级以及更改数据优先级属性:http://jsfiddle.net/ezanker/10x1xy8o/4/ – ezanker 2015-02-13 15:08:19