easyui的使用

 1 function Loadkeyup(e) {
 2     var self =$("#"+e);
 3     var val = self.combobox("getText");
 4     if (val != "") {
 5         if (!val.match(/[^\u4e00-\u9fa5]/g)) {
 6             if (val.length >=2) {
 7                 debugger;
 8                 self.combobox({
 9                     required: true,
10                     url: "/Public/GetPageList", //请求路径
11                     method: 'get',
12                     valueField: 'POST_CODE_ID_SEQ',
13                     textField: 'ADDRESS_TEXT',
14                     queryParams: { CITY_TEXT: val },
15                     onLoadSuccess: function () {
16                         self.combobox("setText", val);
17                         self.combobox("showPanel");
18                         self.combobox("textbox").focus();
19                     },
20                     filter: function (q, row) {
21                     var opts = $(this).combobox('options');
22                     return row[opts.textField].indexOf(q) > -1;
23                    },
24                   onSelect: function (record) {
25                     var cityName = record.ADDRESS_TEXT.split(',');
26                     debugger;
27                     if (cityName.length>=3) {
28                         var text = cityName[1] + "," + cityName[2];
29                         $(this).combobox("setText", text);
30                         $(this)[0].code = record.POST_CODE_TEXT;
31                     }
32                 }
33             });
34 
35             }
36         }
37     }
38 }
1. 当用户输入两个汉字时再去加载后台数据,根据输入内容作为查询条件queryParams的参数是对象。
combbox依赖comb,comb依赖panel。
2. $(this)[0].code是给函数自定义的名称,用来存储临时变量,取数据时 $("#START_STATION_TEXT")[0].code。

<div style=" display:inline-block;" onkeyup="Loadkeyup('START_STATION_TEXT')">
                            <input class="easyui-combobox" type="text" id="START_STATION_TEXT" name="START_STATION_TEXT" style="width: 150px;" /></div>

3. 方法参数传递下拉框id名称。

二、jquery-easyui必填项隐藏问题的处理

data-options="required:true" 就可以把一个输入变成必输项。隐藏控件如果是必输项,form验证不通过,使用:$('#DrpHA').combobox({ required: false });  

在jquery.form.js中知道了如下几行代码:
[javascript]  
function validate(target){  
        if ($.fn.validatebox){  
            var t = $(target);  
            t.find('.validatebox-text:not(:disabled)').validatebox('validate');  
            var invalidbox = t.find('.validatebox-invalid');  
            invalidbox.filter(':not(:disabled):first').focus();  
            return invalidbox.length == 0;  
        }  
        return true;  
    }  
经过测试,提交不成功,确实是这几行代码。
修改成如下就可以了。
[javascript]  
function validate(target) {  
       if ($.fn.validatebox) {  
           var t = $(target);  
           t.find('.validatebox-text:not(:disabled)').validatebox('validate');  
         //  var invalidbox = t.find('.validatebox-invalid');  
           var invalidbox2 = t.find('.validatebox-invalid').find(':visible');  
         //  alert(invalidbox2.length);  
           invalidbox2.filter(':not(:disabled):first').focus();  
           return invalidbox2.length == 0;  
       }  
       return true;  
   }  
最后在jquery.easyui.min.js中找到以上代码修改即可。
[javascript]  
function _3d6(_3dc){  
if($.fn.validatebox){  
var t=$(_3dc);  
t.find(".validatebox-text:not(:disabled)").validatebox("validate");  
//var _3dd=t.find(".validatebox-invalid");  
  var invalidbox2 = t.find('.validatebox-invalid').find(':visible');  
            alert(invalidbox2.length);  
  
//_3dd.filter(":not(:disabled):first").focus();  
invalidbox2.filter(":not(:disabled):first").focus();  
return invalidbox2.length==0;  
}  

三、取消验证方法:

$("#" + elemId).removeClass('validatebox-invalid');

  $(".validatebox-tip").remove();

  $(".validatebox-invalid").removeClass("validatebox-invalid");

 四、要么为空,要么填上后验证:

$.extend($.fn.validatebox.defaults.rules, {
mobile: {// 验证手机号码
validator: function (value) {
if(value=='') return true; // 为空时不验证

return /^(13|14|16|17|15|18|19)\d{9}$/i.test(value);
},
message: '手机号码格式不正确'
}
});
posted @ 2015-11-12 09:28  *人丑就该多读书*  阅读(467)  评论(0编辑  收藏  举报