1. 程式人生 > >easyui.utils.js 自己封裝的 使用easyui過程中方便操作和取值(一)

easyui.utils.js 自己封裝的 使用easyui過程中方便操作和取值(一)

注意:該easyui.utils.js  會在我自己使用過程中不斷完善,大家一起進步。

在js上新增 以下

(function($){

  function  其他方法。

})(jQuery);

的目的是為了防止該js檔案中的function與瀏覽器本身的一些function有衝突。

這種方式叫做壁包。

當一個.ftl 或者其他的html檔案引入該js檔案後。在其他檔案中也想使用本JS檔案檔案中的function時,會發現改方法無法使用。造成該錯誤的原因是因為添加了上面的壁包操作。  可以在該js檔案中加入

    window.onSelectAllListener = onSelectAllListener;
    window.onUnselectListener = onUnselectListener;
    window.onSelectListener = onSelectListener;

方便其他js中間使用本js檔案中的方法。

(function($){

    
    /**
     * 使用easyui 過程中會用到 datagrid的資料表格。那麼在資料表格中有時候會新增針對id的選擇框,以便在 進行刪除或者其他操作的時候,可以獲取到選中行數的ID值。
     * 使用以下方法可以方便對所有單擊事件進行管理。在進行其他操作的時候 所有的資料都存放在
     *     <input id="award_id" name="award_id" type="hidden"></input>    
     * 中,直接
     *                 var ids = $('#award_id').val();
                    if(ids == ""){
                        alert("請選擇資料!");
                    }else{
                        alert(ids);
                    }
         接可以獲取到所有選中的  id。
     *
     * award_list.ftl 中含有
     *列表資料
     *  <table id="awards_load">
        </table>
        存放所有選中id的隱藏  input
        <div id="hide_div" closed="true">
            <input id="award_id" name="award_id" type="hidden"></input>                
        </div>
        對應的award_list.js中進行資料載入
        $(document).ready(function() {
        
        /**
         * 圖片格式化
         */
        /**
            function  image(value, rec){
                if(value != "" && value != null){
                    return "<img style=\"height: 80px;width: 80px;\" src=\""+value+"\"/>";
                }else{
                    return "<img style=\"height: 80px;width: 80px;\" src='.'/>";;
                }
                
            };
        *
         */
        /**
         * 資料操作
         */
            /**
                var toolbar = [{
                    text:'新增新商品',
                    iconCls: 'icon-add',
                    handler: function(){
                        alert("新增商品!");
                    }
                },'-',{
                    text:'刪除',
                    id:'delete',
                    iconCls:'icon-cut',
                    handler:function(){
                        var ids = $('#award_id').val();
                        if(ids == ""){
                            alert("請選擇資料!");
                        }else{
                            alert(ids);
                        }
                        
                    }
                }];
         *
         */
        /**
         * 載入資料
         */
        /**
    
            $('#awards_load').datagrid({
                title : '基礎商品列表 ',
                height: 750,
                fitColumns: true,
                url : 'awards',
                idField:'id',
                singleSelect: false,
                rownumbers: true,
                pagination: true,
                nowrap: false,
                pageSize: 10,
                pageList: [10, 20, 50, 100, 150, 200],
                showFooter: true,
                striped: true,
                autoRowHeight: false,
                collapsible: true,
                frozenColumns:[[
                     { field: 'id',checkbox: true },
                     { field: 'name', title: '獎品名稱', width: 100, align: 'center'},
                ]],
                columns: [[
                   {title:'詳細資訊',colspan:4},
                   { field: 'picUrl', title: '圖片', width: 120, align: 'left', rowspan:2,formatter:image},
                ],[
                   { field: 'memo', title: '獎品描述', width: 80,align: 'center' },
                   { field: 'typeDesc', title: '獎品型別', width: 50, align: 'center' },
                   { field: 'score', title: '兌換積分', width: 50,align: 'center' },  
                   { field: 'statusDesc', title: '狀態', width: 50, align: 'center' },
                ]],
                toolbar:toolbar,
                loadFilter:function(result) {
                    if(result.success){
                        return result.data;
                    }
                },
                onDblClickRow:function(rowIndex,rowData){
                    $('#edit_award_form').form('load','get_award_by_id?id='+rowData.id)
                },onSelect:function(rowIndex,rowData){
                    
                    var inputId = "award_id";
                    onSelectListener(inputId,rowData);
                    
                },onUnselect:function(rowIndex,rowData){
                    
                    var inputId = "award_id";
                    onUnselectListener(inputId,rowData);
                    
                },onSelectAll:function(rows){
                    
                    var inputId = "award_id";
                    onSelectAllListener(inputId,rows);
                    
                },onUnselectAll:function(rows){
                    $('#award_id').val("");
                }
        
            });
        
         * **/
        /**
            
            });
     *
     *
     *
     * <div id="hide_div" closed="true">
     *     <input id="award_id" name="award_id" type="hidden"></input>                
     * </div>
     */
    
    /**
     *         var oldId = $('#award_id').val();
            if(oldId != ""){
                var newId = oldId + "," + rowData.id;
                $('#award_id').val(newId);
            }else{
                $('#award_id').val(rowData.id);
            }
            當在 datagrid  中 新增onSelect事件後
            onSelect:function(rowIndex,rowData){
                    
                    var inputId = "award_id";
                    onSelectListener(inputId,rowData);
                    
                }
                呼叫一下方法,即可在<input id="award_id" name="award_id" type="hidden"></input>中獲取到所有選擇的ID值。
                
        傳入引數:inputId 為存放ID值的 input。
               rowData    為 onSelect事件的 rowData
     */
    function onSelectListener(inputId,rowData){
        var oldId = $('#'+inputId).val();
        if(oldId != ""){
            var newId = oldId + "," + rowData.id;
            $('#'+inputId).val(newId);
        }else{
            $('#'+inputId).val(rowData.id);
        }
    }
    
    /**
     *         var oldId = $('#award_id').val();
            var ids = oldId.split(",");
            if(ids.length == 1 && ids[0] == ""+rowData.id){
                $('#award_id').val("");
            }else if(ids.length > 1){
                if(ids[0] == ""+rowData.id){
                    $('#award_id').val(oldId.replace(rowData.id+",",""));
                }else{
                    $('#award_id').val(oldId.replace(","+rowData.id,""));
                }
            }
            
            當在 datagrid  中 新增onUnselect事件後
            onUnselect:function(rowIndex,rowData){
                    
                    var inputId = "award_id";
                    onUnselectListener(inputId,rowData);
                    
                },
                呼叫一下方法,即可在<input id="award_id" name="award_id" type="hidden"></input>中獲取到所有選擇的ID值。
        傳入引數:inputId 為存放ID值的 input。
               rowData    為 onUnselect事件的 rowData
     */
    function onUnselectListener(inputId,rowData){
        var oldId = $('#'+inputId).val();
        var ids = oldId.split(",");
        if(ids.length == 1 && ids[0] == ""+rowData.id){
            $('#'+inputId).val("");
        }else if(ids.length > 1){
            if(ids[0] == ""+rowData.id){
                $('#'+inputId).val(oldId.replace(rowData.id+",",""));
            }else{
                $('#'+inputId).val(oldId.replace(","+rowData.id,""));
            }
        }
    }
    
    /**
     *         var oldId = $('#award_id').val();
            if(oldId == ""){
                for(var i=0;i<rows.length;i++){
                    if(i == 0){
                        $('#award_id').val(rows[i].id);
                    }else{
                        $('#award_id').val($('#award_id').val()+","+rows[i].id);
                    }
                }
            }else{
                for(var i=0;i<rows.length;i++){
                    var Id = $('#award_id').val();
                    var ids = Id.split(",");
                    var isHave = true;
                    for(var j=0;j<ids.length;j++){
                        if(rows[i].id == ids[j]){
                            isHave =false;
                        }
                    }
                    if(isHave){
                        $('#award_id').val($('#award_id').val()+","+rows[i].id)
                    }
                }
            }
            
            當在 datagrid  中 新增onSelectAll事件後
                    onSelectAll:function(rows){
                    
                    var inputId = "award_id";
                    onSelectAllListener(inputId,rows);
                    
                }
                呼叫一下方法,即可在<input id="award_id" name="award_id" type="hidden"></input>中獲取到所有選擇的ID值。

        傳入引數:inputId 為存放ID值的 input。
               rows    為 onSelectAll事件的 rows
     */
    function onSelectAllListener(inputId,rows){
        var oldId = $('#'+inputId).val();
        if(oldId == ""){
            for(var i=0;i<rows.length;i++){
                if(i == 0){
                    $('#'+inputId).val(rows[i].id);
                }else{
                    $('#'+inputId).val($('#'+inputId).val()+","+rows[i].id);
                }
            }
        }else{
            for(var i=0;i<rows.length;i++){
                var Id = $('#'+inputId).val();
                var ids = Id.split(",");
                var isHave = true;
                for(var j=0;j<ids.length;j++){
                    if(rows[i].id == ids[j]){
                        isHave =false;
                    }
                }
                if(isHave){
                    $('#'+inputId).val($('#'+inputId).val()+","+rows[i].id)
                }
            }
        }

    }

    window.onSelectAllListener = onSelectAllListener;
    window.onUnselectListener = onUnselectListener;
    window.onSelectListener = onSelectListener;

})(jQuery);