flexigrid擴展(添加全選,格式化表單)


1.關於flexigrid的屬性這里不多說,百度一大把。

   這里主要說一個參數process

    process參數:編寫對某一列進行自定義處理的函數 function 方法名(tddiv,pid){}//tddiv:每個td內div對象的innerHTML, pid:td所在tr的id值

    添加全選按鈕的思路:

    1.<thead>添加checkbox

 colModel : [       {display : '<input type=\"checkbox\" name=\"check_all\" onclick=\"CheckAll();\" id=\"check_all\" >',

            name : 'checkall',

            width : 30,

        sortable : false,

             align : 'center' process:seldel(自定義方法名) 
      }],

 

    2.<tbody>中每一行添加checked

   function seldel(val,id){

       val.innerHTML="<input type=\"checkbox\" onclick=\"alert(333)\">"

   }

   3. 添加全選事件
        大家都知道,對全選的checkbox添加onclick事件使子checkbox checked。

        但是在處理onclick事件獲取全選checkbox的checked的值時出現異常:即使在上面打勾了,獲取的值也為默認值(false),具體原因沒有

深入查找,可能是因為和flexigrid中div沖突吧

       於是想起了input中的hidden了,每次onclick時,為hidden的value設置1/0,用該值判斷全選按鈕是否被選中,當然添加一個tr也可以,設置style="display:none"

//全選
    function CheckAll(){
        var state = true;
        var textCheck = document.getElementById("test").value;
        if(textCheck=="0"){
            state = false;
//全選textCheck="1"不要犯這種低級錯誤哦,這樣賦值是賦不上的
document.getElementById(
"test").value="1"; }else{ document.getElementById("test").value="0"; } var check_ids = document.getElementsByName("check_id"); for(var i=0; i<check_ids.length; i++){ if(!check_ids[i].disabled){ check_ids[i].checked = state; } } }

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM