123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- (function($) {
-
- function formatData(data){
- var datas = [];
- for(var i=0;i<data.length;i++){
- var ele = {};
- ele["key"] = data[i];
- ele["value"] = data[i];
- datas.push(ele);
- }
- return datas;
- };
-
-
- $.extend($.fn.combobox.defaults, {
- //是否使用同步 默认不使用
- async:true,
- //是否自动格式化 默认不格式化
- defaultFormat:false,
-
- valueField:'key',
- textField:'value',
- //默认加载第一项后要做的事情
- refreshTarget : function(record) {
-
- },
- //选中一项后要做的事情
- onSelectAfter : function(record) {
- },
- doBackspace:function(){
-
- },
- onLoadSuccess : function() {
- var opts = $(this).combobox('options');
- var $data = $(this).combobox('getData');
- if ($data && $data.length >0 && opts.required)
- {
- $(this).combobox('clear');
-
- $(this).combobox("setValue", $data[0][opts.valueField]);
- var opts = $(this).combobox('options');
- opts.refreshTarget.call(this, $data[0]);
- }
-
- // var me = this;
- //
- // $(this).next('.combo').find("input:text").blur(function(){
- // var rows = $(me).combobox('getData');
- //
- // var flag = false;
- //
- // for(var i=0;i < rows.length;i++)
- // {
- // //如果手动输入的值和列表里的值一样
- // if (this.value == rows[i][me.textField])
- // {
- // flag = true;
- // }
- // }
- // if (!flag)
- // {
- // $(me).combobox('clear')
- // }
- // });
- },
- loader : function(param, success, error)
- {
- var opts = $(this).combobox('options');
- if (!opts.url)
- return false;
-
- $.ajax({
- type : opts.method,
- url : opts.url,
- data : param,
- dataType : 'json',
- async:opts.async,
- success : function(data) {
-
- if (opts.defaultFormat)
- {
- data = formatData(data);
- }
-
- success(data);
- },
- error : function() {
- error.apply(this, arguments);
- }
- });
- }
- });
- })(jQuery);
|