Flexigrid默认是可以选择多行
1、Flexigrid默认是可以选择多行,那么如何设置其只能选一行呢?今天看了看Flexigrid的源码,发现有个属性可以控制:
- $(this).click(function (e) {
- var obj = (e.target || e.srcElement);
- if (obj.href || obj.type) return true;
- $(this).toggleClass('trSelected');
- if (p.singleSelect && ! g.multisel ) {
- $(this).siblings().removeClass('trSelected');
- $(this).toggleClass('trSelected');
- }
- })
看到其中:singleSelect,设置为true,就只能选一行了。
2、Flexigrid获取数据库ID
Flexigrid获取ID很不方便,官方提供的列子是把ID放在第一列的隐藏列中,通过$(this).find("td:first").eq(0).text() 来获取的,这样就必须浪费一列,如果再有cid,fid等等就得依次放在隐藏列中,不怎么方便。
我们打开“flexigrid.js”,会发现有“if (row.id) tr.id = 'row' + row.id;”这么一句,意思对每一行进行赋值ID,
那么,
id=$('.trSelected', grid).attr("id").replace("row","");
就能获得ID了,而不用再用一个隐藏列来获取了
转自:http://www.cnblogs.com/chengulv/archive/2011/10/29/2228394.html
3、获取选中行指定列的值
- function test(com, grid){
- if (com=='详细'){
- if ($('.trSelected', $('#flex1')).length == 0){
- return ;
- }
- var arr = new Array(0);
- $('.trSelected td:nth-child(2) div', $('#flex1')).each(function(i){//第2列的值
- arr.push($(this).text());
- })
- //alert(arr [0]);
- }
- }
4、设置初始页
设置参数newp,用来指定初始页。