$(function () { $('#search_button').button({ icons : { primary : 'ui-icon-search', }, }); $('#reg').dialog({ autoOpen : true, modal : true, resizable : false, width : 320, height : 340, buttons : { '提交' : function () { $(this).submit(); } } }).buttonset().validate({ submitHandler : function (form) { alert('驗證成功,準備提交中。。'); }, showErrors : function (errorMap, errorList) { var errors = this.numberOfInvalids(); if (errors > 0) { $('#reg').dialog('option', 'height', errors * 20 + 340); } else { $('#reg').dialog('option', 'height', 340); } this.defaultShowErrors(); }, highlight : function (element, errorClass) { $(element).css('border', '1px solid #630'); }, unhighlight : function (element, errorClass) { $(element).css('border', '1px solid #ccc'); $(element).parent().find('span').html(' ').addClass('succ'); }, errorLabelContainer : 'ol.reg_error', wrapper : 'li', rules : { user : { required : true, minlength : 2, }, pass : { required : true, minlength : 6, }, email : { required : true, email : true }, date : { date : true, }, }, messages : { user : { required : '帳號不得為空!', minlength : jQuery.format('帳號不得小於{0}位!'), }, pass : { required : '密碼不得為空!', minlength : jQuery.format('密碼不得小於{0}位!'), }, email : { required : '郵箱不得為空!', minlength : '請輸入正確的郵箱地址!', }, } }); $('#date').datepicker({ changeMonth : true, changeYear : true, yearSuffix : '', maxDate : 0, yearRange : '1950:2020', }); $('#email').autocomplete({ delay : 0, autoFocus : true, source : function (request, response) { //獲取使用者輸入的內容 //alert(request.term); //繫結資料來源的 //response(['aa', 'aaaa', 'aaaaaa', 'bb']); var hosts = ['qq.com', '163.com', '263.com', 'sina.com.cn','gmail.com', 'hotmail.com'], term = request.term, //獲取使用者輸入的內容 name = term, //郵箱的使用者名稱 host = '', //郵箱的域名 ix = term.indexOf('@'), //@的位置 result = []; //最終呈現的郵箱列表 result.push(term); //當有@的時候,重新分別使用者名稱和域名 if (ix > -1) { name = term.slice(0, ix); host = term.slice(ix + 1); } if (name) { //如果使用者已經輸入@和後面的域名, //那麼就找到相關的域名提示,比如bnbbs@1,就提示bnbbs@163.com //如果使用者還沒有輸入@或後面的域名, //那麼就把所有的域名都提示出來 var findedHosts = (host ? $.grep(hosts, function (value, index) { return value.indexOf(host) > -1 }) : hosts), findedResult = $.map(findedHosts, function (value, index) { return name + '@' + value; }); result = result.concat(findedResult); } response(result); }, }); });