溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JQuery Kendo UI使用技巧總結(jié)

發(fā)布時間:2020-06-29 18:43:14 來源:網(wǎng)絡 閱讀:1869 作者:gloomyfish 欄目:web開發(fā)

Kendo UI開發(fā)總結(jié) By Gloomyfish on 2013-04-25

Grid中支持分頁刷新:           

scrollable: {virtual : true },

GridDataSource中添加分頁支持:

serverPaging: true,

serverSorting: true,

serverFiltering: true,

pageSize: 50,

 

在grid中顯示列(顯示/隱藏菜單)與過濾支持菜單

filterable: true,

columnMenu: true,

 

在Grid中隱藏某個指定的列,需要在columns中指定column下面添加:

hidden:true,

 

使用模板來格式化顯示grid中的列數(shù)據(jù),給對應列添加模板的代碼如下:

         template : "#=(value==-1) ? '-' :formatValue(value)#"

 

對齊顯示grid中列文本的代碼如下:

attributes:{ style: "text-align: right"}

 

綁定一個Kendo datasource到kendo.observable對象:

var formVM = kendo.observable({

     sources: formDS,

     source: null

});

 

綁定指定的formVM到某個Div元素:

kendo.bind($("#form_div"),formVM);

 

在頁面數(shù)據(jù)改變時,更新綁定的數(shù)據(jù)源(DataSource):

formDS.bind("change", function() {

   //binds the view-model to the first entryin the datasource

   formVM.set("source", this.view()[0]);

});

 

強制更新form_div中的值:

formVM.set("source.userName", 'gloomyfish');對應的HTML為

<input id="uname"name="uname" data-bind="value: source.userName"/>

 

啟動一個新的瀏覽器新窗口代碼如下:

var left = (screen.width/2)-(800/2);

var top = 0;//(screen.height/2)-(800/2);

// force to open new widows in chrome,IE, FF

window.open("personInfo.html","_blank","resizable=yes, scrollbars=yes,titlebar=yes, width=800, height=800, top="+ top +", left="+ left);

 

下載grid中選中的所有文件:

var grid = $("#file_grid").data("kendoGrid");

var tr = grid.select(); //gets selected <tr> element           

if(tr.length >= 1) {       

        for(var i=0; i<tr.length;i++) {

             var item =grid.dataItem(tr[i]); //gets the dataSourceitem

             var fid = item.id;

            makeFrame("file/"+ fid +"/fileContent.htm");

        }

}

    function makeFrame( url )

    {

        var ifrm = document.createElement( "IFRAME");

        ifrm.setAttribute( "style", "display:none;") ;

        ifrm.setAttribute( "src", url ) ;

        ifrm.style.width = 0+"px";

        ifrm.style.height = 0+"px";

        document.body.appendChild( ifrm ) ;

    }

 

通過window.location或者window.location.href打開指定URL

 

同步Grid數(shù)據(jù)更新,使用如下代碼:

grid.dataSource.sync()

或者

myGrid.dataSource.read();

myGrid.refresh();

 

一個Ajax請求跳轉(zhuǎn)頁面的例子:

   $.ajax({

        url : "openMyInfo",

        type : "POST",

        data : {userName: name, userId:id },        

        success : function(jqXHR, textStatus) {

            if (jqXHR.jsonResponse.success) {              

                var url = jqXHR.jsonResponse.message;

                window.location=url;           

            } else {

               alert(jqXHR.jsonResponse.message);

            }

        },

        error : function(jqXHR, textStatus, errorThrown) {

            alert (errorThrown);

        }

});

 

Kendo UI dropdown list級聯(lián)菜單刷新:

在父dropdown list上綁定change事件函數(shù):change : onItemChange

在函數(shù)中刷新更新子dropdow list的數(shù)據(jù)源(data source)

var subDDList = $('#subListDiv').data("kendoDropDownList");

subDDList.setDataSource(buildSubList(selectParentId));

 

上傳文件對話框使用

   $("#selectedFiles").kendoUpload({

        async: {

            saveUrl: "myDomain/fileUpload.htm",

            autoUpload: true

        },

        multiple:true, // 支持多個文件上傳,

        complete: uploadFileComplete, //上傳結(jié)束以后處理,

        error: onError,

        cancel: onCancel,

        select: onSelect,

        success: onSuccess

});

調(diào)用代碼 $("# selectedFiles ").click();//模擬鼠標雙擊事件調(diào)用,

頁面上selectedFileshtml元素為隱藏對象。

 

禁用IE緩存,在JQuery1.2以上版本支持:

$.ajax({

    type:"GET",

    url:"static/cache.js",

    dataType:"text",

    cache:false, // disable cache(禁用IE緩存)

    ifModified:true

});

 

在HTML文件中加上:

<meta http-equiv="Expires"content="0"/>

<meta http-equiv="Cache-Control"content="no-cache"/>

<meta http-equiv="Pragma"content="no-cache"/>

 

提交數(shù)據(jù)之后打開在新窗口:

<form action="getMyInfo.htm"method="post" target="_blank">

 

獲取Servlet的真是路徑:

request.getSession().getServletContext().getRealPath("/");

 

實現(xiàn)路徑重定向:

((HttpServletResponse)response).sendRedirect(redirectURL);

 

JS中替換反斜線正則表達式:

var myString = content.replace(/\//g, "\\\\");

或者:var value = value.replace(/\\/g, "whatever");

 

JQuery中報UncaughtSyntaxError: Unexpected identifier

原因多數(shù)是你在前一行少加了分號,或者使用了不恰當?shù)年P鍵字標識,比如

setTimeout(new function(){alert(“Helloworld”);}, 200);

其中new是多余關鍵字,導致錯誤。

 

隱藏頁面上DIV內(nèi)容:

$(my_div_id).css("display","none");   

顯示它:

$(my_div_id).css("display","");

 

純JavaScript方式實現(xiàn),永遠有效的隱藏一個DIV內(nèi)容的方法:

document.getElementById('myDivID').style.display = 'none';

顯示它:

document.getElementById('myDivID').style.display = '';

 

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI