zoukankan      html  css  js  c++  java
  • jQuery:常用插件

    jQuery常用插件

    一、jQueryUI 引用jQuery.ui.js

    (一)對話框(dialog

    $('#a').dialog({

    title : '中華民國' , //對話框標題

    buttons : {

    '按鈕' : function(){}

    },

    position : 'left top' , //設置對話框位置,默認為center。單left表示左居中

    show : false, //顯示對話框時顯示的效果,默認為false,淡入淡出效果

    hide : false, //隱藏對話框時顯示的效果,默認為false,淡入淡出效果

    width : 300, //對話框的寬度。默認為 300,單位是像素。

    height :500, //對話框的高度。默認為 auto,單位是像素。

    minWidth :200, //對話框的最小寬度。默認 150,單位是像素。

    minHeight :300, //對話框的最小高度。默認 150,單位是像素。

    maxWidth :100, //對話框的最大寬度。默認 auto,單位是像素。

    maxHeight :200, //對話框的最大高度。默認 auto,單位是像素。

    autoOpen : false, //默認為 true,調用 dialog()方法時就會打開對話框;

    draggable : true, //默認為 true,可以移動對話框,false 無法移動。

    resizable : true, //默認為 true,可以調整對話框大小,false 無法調整

    modal : ture, //默認為 false,對話框外可操作,true 對話框會遮罩

    closeText : '關閉', //默認為無,設置關閉按鈕的 title 文字

    focus : function(e,ui){}, //取得焦點時觸發,ui為空

    create : function(e,ui){}, //創建時觸發,ui為空

    open : function(e,ui){}, //首顯或調用dialog('open')時,ui為空

    beforeClose : function(e,ui){}, //關前或調用dialog('close')時,ui為空

    close : function(e,ui){}, //關時或調用dialog('close')時,ui為空

    drag : function(e,ui){ //每次移動時調用

    ui.positon.top; //offset同,還有一left,距離瀏覽器の上/左的距離

    ui.offset.left; //position同,還有一top

    },

    dragStart : function(e,ui){ //每次移動前調用

    ui.positon.top; //offset同,還有一left,距離瀏覽器の上/左的距離

    ui.offset.left; //position同,還有一top

    },

    dragStop : function(e,ui){ //停止移動時調用

    ui.positon.top; //offset同,還有一left,距離瀏覽器の上/左的距離

    ui.offset.left; //position同,還有一top

    },

    resize : function(e,ui){ //改變大小時調用

    ui.size.width; //得到對話框の寬度,還有height

    ui.position.top; //得到對話框的座標,有兩個子屬性:top left

    ui.originalSize.height; //得到對話框原始的大小,有兩個子屬性:width height

    ui.originalPosition.top; //得到對話框原始的座標,有兩個子屬性:top left

    },

    resizeStart : function(e,ui){}, //改變大小前調用,uiresize

    resizeStop : function(e,ui){} //改變大小後調用,uiresize

    }

    dialog方法:openclosedestoryisOpenwidget(獲取dialogjQuery對象)

    用法:$('#a').dialog('open');

    設置值:$('#a').dialog('option' , 'title' , '中華')

    獲取值:$('#a').dialog('option' , 'title' )

    dialog事件:

    dialogfocus //得到焦點時觸發

    dialogopen //顯示時觸發

    dialogbeforeclose //將要關閉時觸發

    dialogclose //關閉時觸發

    dialogdrag //每一次移動時觸發

    dialogdragstart //開始移動時觸發

    dialogdragstop //移動結束後觸發

    dialogresize //每次調整大小時觸發

    dialogresizestart //開始調整大小時觸發

    dialogresizestop //結束調整大小時觸發

    用法:$('#reg').on('dialogclose', function () {});

    showhideの動畫效果:

    blind //對話框從頂部顯示或消失

    bounce //對話框斷斷續續地顯示或消失,垂直運動

    clip //對話框從中心垂直地顯示或消失

    slide //對話框從左邊顯示或消失

    drop //對話框從左邊顯示或消失,有透明度變化

    fold //對話框從左上角顯示或消失

    highlight //對話框顯示或消失,伴隨著透明度和背景色的變化

    puff //對話框從中心開始縮放。顯示時“收縮”,消失時“生長”

    scale //對話框從中心開始縮放。顯示時“生長”,消失時“收縮”

    pulsate //對話框以閃爍形式顯示或消失

    (二)按鈕(button

    $('#search_button').button({

    disabled : false, //按鈕是否禁用

    icons : { //設置圖標

    primary : 'ui-icon-search', //按鈕前面の圖標

    secondary : 'ui-icon-search', //按鈕後面の圖標

    },

    label : '查找',

    text : false,

    });

    buttonの方法:

    $('#a').button('disable') //禁用按鈕

    $('#a').button('enable') //啟用按鈕

    $('#a').button('destroy') //刪除按鈕,直接阻斷了 button

    $('#a').button('refresh') //更新按鈕佈局。

    $('#a').button('widget') //獲取按鈕的 jQuery 對象

    獲取值:button('option', param) //獲取 options 屬性的值

    設置值:button('option', param, value) //設置 options 屬性的值

    button 按鈕不但可以設置普通的按鈕,對於單選框、複選框同樣有效。

    設置成button樣式:

    $('#c input[type=radio]').button();

    或者 $('#v').buttonset();

    (三)懸浮提示框(tooltip

    $('[title]').tooltip({

    disabled : false, //禁止顯示

    content : '改變文字', //設置懸浮文字

    items : 'input', //設置範圍,只在inputtitle中使用

    tooltipClass : 'reg_tooltip' //引用CSS樣式

    position : { //設置位置

    my : 'left center', //以目標點左下角為基準

    at : 'right+5 center' //atmy為基準

    },

    show : false, //顯示時,淡入

    hide : false, //關閉時,淡出

    create : function(e,ui){} //創建時調用,ui為空

    open : function(e,ui){} //打開時調用,uitooltip對象

    close : function(e,ui){} //關閉時調用,uitooltip對象

    }

    tooltipの方法:

    $('#a').tooltip('open') //打開工具提示

    $('#a').tooltip('close') //關閉工具提示

    $('#a').tooltip('disable') //禁用工具提示

    $('#a').tooltip('enable') //啟用工具提示

    $('#a').tooltip('destroy') //刪除工具提示,直接阻斷了 tooltip

    $('#a').tooltip('widget') //獲取工具提示的 jQuery 對象

    $('#a').tooltip('option', param) //獲取 options 屬性的值

    $('#a').tooltip('option', param, value) //設置 options 屬性的值

    tooltipの事件:

    dialogopen //顯示時觸發

    tooltipclose //每一次移動時觸發

    用法:$('#reg').on('tooltipopen', function () {});

    (四)自動補全(complete

    $('#a').autocomplete({

    source : ['aaa@163.com', 'bbb@163.com', 'ccc@163.com'], //設置數據源

    disabled : false, //是否禁用

    minLength : 2, //最小長度

    delay : 50, //延時

    autoFocus : true, //第一個項目是否被自動聚焦

    position : { //設置位置

    my : 'left center', //以目標點左下角為基準

    at : 'right center' //atmy為基準

    },

    create : function(e,ui){}, //創建時調用,ui為空

    open : function(e,ui){}, //打開時調用,ui為空

    close : function(e,ui){}, //關閉時調用,ui為空

    change : function(e,ui){}, //失去焦點且值改變時調用,ui為空

    search : function(e,ui){}, //當自動補全搜索完成後調用,ui為空

    response : function(e,ui){ //自動搜完後,菜單顯示前

    ui.content[0].label; //label只讀,content為子對象

    ui.content[1].value='l'; //value設置值

    },

    focus : function(e,ui){ //獲取焦點時觸發

    ui.item.label; //取得其值

    ui.item.value='l'; //設置其值

    },

    select : function(e,ui){ //當自動補全獲被選定時觸發

    ui.item.label; //取得其值

    ui.item.value='l'; //設置其值

    }

    })

    autocompleteの方法:

    $('#a').autocomplete('close') //關閉自動補齊

    $('#a').autocomplete('disable') //禁用自動補齊

    $('#a').autocomplete('enable') //啟用自動補齊

    $('#a').autocomplete('destroy') //刪除自動補齊,直接阻斷。

    $('#a').autocomplete('widget') //獲取工具提示的 jQuery 對象

    $('#a').autocomplete('search',value) //在數據源獲取匹配的字串。

    $('#a').autocomplete('option', param) //獲取 options 屬性的值

    $('#a').autocomplete('option', param,value) //設置 options 屬性的值

    autocompleteの事件:

    autocompleteopen //顯示時觸發

    autocompleteclose //關閉時觸發

    autocompletesearch //查找時觸發

    autocompletefocus //獲得焦點時觸發

    autocompleteselect //選定時觸發

    autocompletechange //改變時觸發

    autocompleteresponse //搜索完畢後,顯示之前

    用法:$('#reg').on('autocompleteopen', function () {});

    (五)日曆設置(datepicker

    $('#date').datepicker({

    dateFormat : 'yy-mm-dd', //設置日期格式

    dayNames : ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'], //設置曜日名

    dayNamesShort : ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'], //設置曜日短格式

    dayNamesMin : ['','','','','','',''], //設置曜日最小格式

    monthNames : ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'], //設置月份名

    monthNamesShort : ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月'], //設置月份短格式

    altField : '#abc', //將選定日期輸出到#abcinput

    altFormat : 'dd/mm/yy', //設置輸出域の選定日期格式

    appendText : '日曆', //在輸出域後添加文本

    showWeek : true, //是否顯示周

    weekHeader : '', //周名字

    firstDay : 1, //從週一開始,週日到週六(0-6)

    disabled : true, //是否禁止

    numberOfMonths : 3, //同時顯示の3個月份

    numberOfMonths : [3,2], //同時顯示32列共6個月份

    showOtherMonths : true, //是否顯示上/下個月份在本頁の顯示,顯示為灰+數字,不顯為空白

    selectOtherMonths : true, ///下個月份的日期是否可選擇

    changeMonth : true, //月份菜單可下拉

    changeYear : true, //年份菜單可下拉

    isRTL : true, //是否從由右向左繪製表格

    autoSize : true, //是否自動調整輸出域的大小

    showOn : 'button', //顯示方式,button點擊,focus聚焦,both兼二

    buttonText : '日曆', //button上的文本

    buttonImage : 'img/calendar.gif', //觸發按鈕上的圖片

    buttonImageOnly : true, //是否用圖片替代按鈕

    showButtonPanel : true, //是否開啟按鈕面板

    closeText : '關閉', //按鈕面板上close按鈕的文本

    currentText : '今天dd', //按鈕面板上today按鈕の文本

    nextText : '下個月mm', //設置下個月の文本

    prevText : '上個月mm', //設置上個月の文本

    navigationAsDateFormat : true, //文本中是否用format格式

    yearSuffix : '', //年份後面添加的文本

    showMonthAfterYear : true, //將月份放到年份後面

    //日期的限制優先順序,minDatemaxDate最高

    maxDate : 0, //設置最大到今天。或者new Date(2017,1,14)2017-1-14

    minDate : -8000, //設置最小日期到今天之前8000

    hideIfNoPrevNext : true, //如果上/下月不存在則隱藏按鈕

    //maxDateminDate只是限制日期,而年份的限制的優先順序yearRange最高

    yearRange : '1950:2020', //設置年份範圍,'-100:-1':前100年到前1年,'-50:0':前50年,'-50:+20':前50年到後20年,'-/3:+0''-3:-0':前3年到今年,'+0:+2''-0:+2':今年到後2

    defaultDate : -1, //默認日期前一天,'-1m+3':一月前の後3

    gotoCurrent : true, //點擊今日且回車後選擇的是當前選定的日期,而不是今日。

    duration : 1000, //設置動畫持續時間

    showAnim : 'slide', //設置動畫,默認為false,不帶動畫

    beforeShow : function () {}, //日曆顯示之前被調用

    beforeShowDay : function (date) {//顯示每個日期時調用,返回一數組

    if (date.getDate() == 1) {

    return [false, 'a', '不能選擇1']; //參數1:該參數是否可被選,參數2:選用のclass

    } else { //參數3:該字串上顯示の提示

    return [true];

    }

    }

    onChangeMonthYear : function (year, month, inst) { //日曆中年份或月份改變時啟動

    alert(year);

    alert(month);

    alert(inst.id); //inst調用一些屬性,獲取值

    }

    onSelect : function (dateText, inst) { //選擇日曆時調用

    alert(dateText); //dateText為當時選中的日期字串

    }

    onClose : function (dateText, inst) {} //關閉日曆時調用

    }

    方法:show hidegetDate(獲取當前選定日曆)destroywidgetisDisabledrefresh

    用法:$('#s').datepicker('show')

    特殊:$('#s').datepicker('setDate',date) //設置當前選定日期

    $('#s').datepicker('option', param) //獲取 options 屬性的值

    $('#s').datepicker('option', param,value) //設置 options 屬性的值

    動畫效果:

    blind //日曆從頂部顯示或消失

    bounce //日曆斷斷續續地顯示或消失,垂直運動

    clip //日曆從中心垂直地顯示或消失

    slide //日曆從左邊顯示或消失

    drop //日曆從左邊顯示或消失,有透明度變化

    fold //日曆從左上角顯示或消失

    highlight //日曆顯示或消失,伴隨著透明度和背景色的變化

    puff //日曆從中心開始縮放。顯示時“收縮”,消失時“生長”

    scale //日曆從中心開始縮放。顯示時“生長”,消失時“收縮”

    pulsate //日曆以閃爍形式顯示或消失

    fadeIn //日曆顯示或消失時伴隨透明度變化

    日期格式:

    d //月份中的天,從 1 31

    dd //月份中的天,從 01 31

    o //年份中的天,從 1 366

    oo //年份中的天,從 001 366

    D //星期中的天的縮寫名稱(MonTue 等)

    DD //星期中的天的全寫名稱(MondayTuesday 等)

    m //月份,從 1 12

    mm //月份,從 01 12

    M //月份的縮寫名稱(JanFebruary 等)

    MM //月份的全寫名稱(JanuaryFebruary 等)

    y //兩位數字的年份(14 表示 2014

    yy //四位數字的年份(2014

    @ //01/01/1997 至今的毫秒數

    (六)選項卡

    <div id='tabs'>

    <ul><li><a href='#tab1'>tab1</a></li></ul>

    <div id='tab1'>t1</div>

    </div>

    $('#tabs').tabs({

    collapsible : true, //是否允許折疊

    disabled : [0,1], //禁用第1和第2tab

    disabled : true, //禁用所有的tab

    event : 'mouseover', //鼠標移動到上面時觸發,默認為click

    active : 1, //首次顯示第一個tab

    active : true, //首顯時是否折疊。false折疊,都需要collapsibletrue

    heightStyle : 'content', //以內容縮展,為默認,auto以最高為標準,fill填充一定的可用高度

    show : true, //關閉時,淡入淡出

    hide : true, //隱藏時,淡入淡出

    create : function (event, ui) { //創建tab時觸發

    alert($(ui.tab.get()).html()); //tab裏の內容

    alert($(ui.panel.get()).html()); //內容選項の內容

    },

    activate : function (event, ui) { //切換到另一個活動卡後觸發

    alert($(ui.oldTab.get()).html());

    alert($(ui.newTab.get()).html());

    alert($(ui.oldPanel.get()).html());

    alert($(ui.newPanel.get()).html());

    },

    beforeActivate : function (event, ui) { //切換到另一個活動卡之前觸發

    alert($(ui.oldTab.get()).html());

    alert($(ui.newTab.get()).html());

    alert($(ui.oldPanel.get()).html());

    alert($(ui.newPanel.get()).html());

    },

    load : function (event, ui) { //ajax遠程加載文檔後觸發

    alert($(ui.tab.get()).html());

    alert($(ui.panel.get()).html());

    },

    beforeLoad : function (event, ui) { //ajax遠程加載文檔前觸發

    alert($(ui.tab.get()).html());

    alert($(ui.panel.get()).html());

    ui.jqXHR.success(function (responseText) {

    alert(responseText);

    });

    ui.ajaxSettings.url = 'tab3.html';

    },

    });

    方法:

    $('#tabs').tabs('disable', 0); //禁用第一個選項卡

    $('#tabs').tabs('enable', 0); //啟用第一個選項卡

    $('#tabs').tabs('disable') //禁用選項卡

    $('#tabs').tabs('enable') //啟用選項卡

    $('#tabs').tabs('load') //通過 ajax 獲取選項卡內容

    $('#tabs').tabs('widget') //獲取選項卡的 jQuery 對象

    $('#tabs').tabs('destroy') //刪除選項卡,直接阻斷了 tabs

    $('#tabs').tabs('refresh') //更新選項卡,比如高度。

    $('#tabs').tabs('option', param) //獲取 options 屬性的值

    $('#tabs').tabs('option', param, value) //設置 options 屬性的值

    $('#button').click(function () {

    $('#tabs').tabs('load', 0); //加載第一個選項卡

    });

    事件:

    tabsload //Ajax 加載後觸發

    tabsbeforeload //Ajax 加載前觸發

    tabsactivate //選項卡切換時觸發

    tabsbeforeactivate //選項卡切換前觸發

    用法:$('#tabs').on('tabsload', function (event, ui) {});

    (七)折疊菜單

    <div id="accordion">

    <h1>菜單 1</h1>

    <div>內容 1</div>

    </div>

    $('#accordion').accordion({

    collapsible : true, //是否允許折疊

    disabled : true, //是否禁用

    event : 'mouseover', //觸發條件,默認為click

    active : 1, //首顯第2

    active : true, //首顯是否顯示,需collapsibletrue

    heightStyle : 'content', //自適應,auto為默認,還有fill

    header : 'h3', //折疊標籤頭

    icons: {

    "header": "ui-icon-plus", //頭部圖標

    "activeHeader": "ui-icon-minus", //活動頭部圖標

    },

    create : function (event, ui) { //當折疊菜單創建時觸發

    alert($(ui.header.get()).html());

    alert($(ui.panel.get()).html());

    },

    activate : function (event, ui) { //當切換到一個菜單時觸發

    alert($(ui.oldHeader.get()).html());

    alert($(ui.oldPanel.get()).html());

    alert($(ui.newHeader.get()).html());

    alert($(ui.newPanel.get()).html());

    },

    beforeActivate : function (event, ui) { //當切換到一個菜單之前觸發

    alert($(ui.oldHeader.get()).html());

    alert($(ui.oldPanel.get()).html());

    alert($(ui.newHeader.get()).html());

    alert($(ui.newPanel.get()).html());

    },

    });

    方法:

    $('#accordion').accordion('disable'); //禁用折疊菜單

    $('#accordion').accordion('enable'); //啟用折疊菜單

    $('#accordion').accordion('widget'); //獲取折疊菜單 jQuery 對象

    $('#accordion').accordion('refresh'); //更新折疊菜單

    $('#accordion').accordion('destroy'); //刪除 accordion 折疊菜單

    $('#accordion').accordion('option', 'active'); //得到 accordion options

    $('#accordion').accordion('option', 'active', 1); //設置 accordion options

    事件:

    $('#accordion').on('accordionactivate', function () {}); //菜單切換時觸發

    $('#accordion').on('accordionbeforeactivate ', function () {}); //菜單切換前觸發

    二、表單驗證(validate 引用jQuery.validate.js

    $('#a').validate({

    rules:{

    user:{ //username

    required:true, //必須輸入字段

    email:true, //必須輸入正確格式的電子郵件

    url:true, //必須輸入正確格式的網址

    date:true, //必須輸入正確格式的日期(IE6 驗證出錯)

    dateISO:true, //必須輸入正確格式的日期(ISO)(只驗證格式,不驗證有效)

    number:true,   //必須輸入合法的數字(負數,小數)

    digits:true, //必須輸入正整數

    creditcard:true, //必須輸入合法的信用卡號,例如:5105105105105100

    equalTo:"#field", //輸入值必須和#field 相同

    minlength:5, //輸入長度最小是 5 的字串(漢字算一個字元)

    maxlength:10, //輸入長度最多是 10 的字串(漢字算一個字元)

    rangelength:[5,10], //輸入長度介於 5 10 之間的字串")(漢字算一個字元)

    range:[5,10], //輸入值必須介於 5 10 之間

    min:5, //輸入值不能小於 5

    max:10, //輸入值不能大於 10

    remote:"check.php", //使用 ajax 方法調用 check.php 驗證輸入值

    remote : {

    url : 'user.php', //用來驗證賬戶是否被用等

    type : 'POST',

    dataType : 'json',

    data : {},

    },

    },

    }

    messages:{

    user : {

    required : '帳號不得為空!', //提示

    minlength : jQuery.format('帳號不得小於{0}位!'), //{0}為第一個參數的值

    rangelength : jQuery.format('帳號限制在{0}-{1}位!'), //{1}為第二個參數的值

    }

    },

    debug : true, //是否調試模式,禁用提交

    ignore : '#p', //忽略某字段の驗證

    submitHandler : function (form) {

    //可以執行 ajax 提交,並且無須 debug:true 阻止提交了

    },

    groups : { //群組錯誤提示

    myerror : 'user pass',

    },

    //顯示群組的錯誤提示

    focusInvalid : false,

    errorPlacement : function (error, element) {

    $.each(error, function (index, value) {

    $('.myerror').html($('.myerror').html() + $(value).html());

    })

    },

    groups : { //群組錯誤提示,分開

    error_user : 'user',

    error_pass : 'pass'

    },

    errorPlacement : function (error, element) { //將群組的錯誤指定存放位置

    error.appendTo('.myerror');

    },

    errorClass : 'error_list', //設置錯誤提示的 class

    errorElement : 'p', //設置錯誤提示的標籤

    errorLabelContainer : 'ol.error', //統一包裹錯誤提示

    wrapper : 'li', //在外層包裹一層li標籤,與上合用

    success : 'success', //設置成功後加載的 class

    success : function (label) { //使用方法加載 class 並添加文本

    label.addClass('success').text('ok');

    },

    highlight: function(element, errorClass) { //高亮顯示有錯誤的元素,變色式

    $(element).fadeOut(function() {

    $(element).fadeIn()

    })

    },

    highlight: function(element, errorClass) { //高亮顯示有錯誤的元素,變色式

    $(element).css('border', '1px solid red');

    },

    unhighlight : function (element, errorClass) { //成功的元素移出錯誤高亮

    $(element).css('border', '1px solid #ccc');

    },

    invalidHandler : function (event, validator) { //表單提交時獲取資訊

    var errors = validator.numberOfInvalids();

    if (errors) {

    $('.myerror').html('您有' + errors + '個表單元素填寫非法!');

    }

    },

    showErrors : function (errorMap, errorList) { //獲取錯誤提示句柄,不用提交及時獲取值

    var errors = this.numberOfInvalids();

    if (errors) {

    $('.myerror').html('您有' + errors + '個表單元素填寫非法!');

    } else {

    $('.myerror').hide();

    }

    this.defaultShowErrors(); //執行默認錯誤

    },

    showErrors : function (errorMap, errorList) { //獲取錯誤提示句柄,errorList

    alert(errorList[0].message); //得到錯誤資訊

    alert(errorList[0].element); //當前錯誤的表單元素

    },

    特殊默認事件,不建議修改

    onsubmit : false, //默認是 true,取消提交驗證

    //設置為 false 會導致直接傳統提交,不會實現驗證功能,一般是用於 keyup/click/blur驗證提交。

    onfocusout : false, //默認為 true,設置滑鼠離開不觸發驗證

    onkeyup : false, //默認為 true,設置鍵盤按下彈起不觸發驗證

    //只要設置了,在測試的流覽器不管是 false 還是 true 都不觸發了。

    onclick : false, //默認為 true,設置點擊 checkbox radio 點擊不觸發驗證

    focusInvalid : false, //默認為 true,設置錯誤提示後,無法獲取焦點

    focusCleanup : true, //默認為 false,提示錯誤時,隱藏錯誤提示,不能和 focusInvalid 一起用,衝突,如果表單元素設置了 title 值,且 messages 為默認,就會讀取 title 值的錯誤資訊,我們

    可以通過 ignoreTitle : true,設置為 true,遮罩這一個功能。

    ignoreTitle : true,  //默認為 false,是否遮罩titleの值

    });

    禁用多個表單提交:

    $.validator.setDefaults({

    debug : true,

    });

    $('#reg').valid(); //全部有效返回 true,判斷表單所驗證的元素是否全部有效

    $('#user').rules('remove'); //刪除 user 的所有驗證規則

    $('#user').rules('remove', 'minlength min max'); //刪除 user 的指定驗證規則

    $.validator.addMethod('code', function (value, element) { //添加自定義驗證

    var tel = /^[0-9]{6}$/;

    return this.optional(element) || (tel.test(value));

    }, '請正確填寫您的郵遞區號');

    rules : { //調用自定義驗證

    code : {

    required : true,

    code : true,

    }

    },

    三、Form-Ajax插件 需引入jquery.form.js

    $('#f').ajaxForm(function(){}); //直接實現ajax提交,自動阻止默認行為,提交目標為action指向,方式是method提供的。

    $('#f').submit(function(){ //不會阻止默認行為,由於需要驗證,此法更合適

    $(this).ajaxSubmit(function(){});

    }

    詳盡用法:

    $('#reg').submit(function () {

    $(this).ajaxSubmit({

    url : 'test.php', //設置提交的 url,可覆蓋 action 屬性

    target : '#box', //伺服器返回的內容存放在#box

    type : 'POST', //GET,POST

    dataType : null, //xml,json,script,默認為 null

    clearForm : true,  //成功提交後,清空表單

    resetForm : true, //成功提交後,重置表單

    data : { //增加額外的數據提交

    aaa : 'bbb', ccc : 'ddd'. },

    beforeSubmit : function (formData, jqForm, options) {

    alert(formData[0].name);  //得到傳遞表單元素的 name

    alert(formData[0].value); //得到傳遞表單元素的 value

    alert(jqForm); //得到 form jquery 對象

    alert(options); //得到目前 options 設置的屬性

    alert('正在提交中!!!');

    return true;

    },

    success : function (responseText, statusText) { //成功後回調

    alert(responseText + statusText); //返回值+返回狀態

    },

    error : function (event, errorText, errorType) { //錯誤時調用

    alert(errorText + errorType); //錯誤文本+錯誤類型

    },

    });

    return false;

    });

    表單方法:

    alert($('#reg').formSerialize()); //表單序列化

    alert($('#reg #user').fieldSerialize()); //序列化某一個字段

    alert($('#reg #user').fieldValue()); //得到某個字段的 value

    $('#reg').resetForm() //重置表單

    $('#reg #user').clearFields(); //清空某個字段

    四、cookie插件 需引入jquery.cookie.js

    $.cookie('user', 'bnbbs'); //生成一個 cookie

    $.cookie('user', 'bnbbs', { //設置 cookie 參數

    expires : 7, //過期時間,7 天後

    path : '/', //設置路徑,上一層

    domain : 'www.ycku.com', //設置功能變數名稱

    secure : true, //默認為 false,需要使用安全協議 https

    });

    方法:

    $.cookie.raw = true; //關閉編碼/解碼,默認為 false

    alert($.cookie('user')); //讀取 cookie 數據

    alert($.cookie()); //讀取所有 cookie 數據

    注意:讀取所有的 cookie 是以對象鍵值對存放的,所以,也可以$.cookie().user 獲取。

    $.removeCookie('user'); //刪除 cookie

    $.removeCookie('user', {path : '/',}); //刪除指定路徑 cookie

  • 相关阅读:
    复制构造函数与重载=操作符
    size_t
    模板
    理解函数对象的函数适配器
    抽象基类
    派生类的一些知识
    了解protected 以及公用、私有和受保护的继承
    第四章 分治策略 最大子数组问题
    第二章 归并排序 分治法
    第二章 插入排序
  • 原文地址:https://www.cnblogs.com/mandongpiaoxue/p/7420319.html
Copyright © 2011-2022 走看看