2016-09-13更新
<h4>例子1</h4> <h5>单选</h5> <div id="demo1"></div> <h5>单选</h5> <div id="demo2"></div> <h4>例子2</h4> <div id="demo3"></div> <div id="demo4"></div> <h4>例子3</h4> <div id="demo5"></div> <div id="demo6"></div> <h4>显示值</h4> <input id="demo_value" type="text" value=""> <script type="text/javascript">
var data = [{ "id": 1, "text": 1 }, { "id": 2, "text": 2 }, { "id": 3, "text": 3 }, { "id": 4, "text": 4 }] //例子1 //单选 $('#demo1').comboboxfilter({ url: '', scope: 'FilterQuery1', //分组 data: data, //默认数据 onChange: function(newValue) { //改变事件 参数为当前选择的值,单选为1个值,多选为多个值逗号分割 $('#demo_value').val(newValue); } }); $('#demo2').comboboxfilter({ url: '', scope: 'FilterQuery2', multiple: true, //开启多选 data: data, onChange: function(newValue) { $('#demo_value').val(newValue); } }); $('#demo3').comboboxfilter({ url: '', scope: 'FilterQuery3', data: data, onChange: function(newValue) { $('#demo_value').val(newValue); } }); $('#demo4').comboboxfilter({ url: '', scope: 'FilterQuery3', multiple: true, data: data, onChange: function(newValue) { $('#demo_value').val(newValue); } }); $('#demo5').comboboxfilter({ url: '', scope: '', unlimitText: '全部', data: data, onChange: function(newValue) { $('#demo_value').val(newValue); } }); $('#demo6').comboboxfilter({ url: '', scope: '', unlimitText: '全部', //改变全部的的Text multiple: true, data: data, onChange: function(newValue) { $('#demo_value').val(newValue); } }); < /script>/
以下为默认参数 可以通过$('#demo5').comboboxfilter(options)进行改变
$.fn.comboboxfilter.defaults = { url: '', //Ajax 请求地址,为空的时候数据加载默认为Data idField: 'id', //数据对象的值字段 textField: 'text', //数据对象的文本字段 scope: 'FilterQuery', //分组,可以设置为空 multiple: false, //多选,默认单选 data: [], //默认数据,当url 不为空时候Data 无效 inputName: '', unlimit: true, //是否显示不限,默认显示 unlimitText: '不限', param: {}, //Ajax 请求的参数 onClick: function(itemData) {}, //单击事件,当前点击documnet对象对应的数据对象 onChange: function(newValue) {}, //值改变事件 参数为当前已经选择的全部值 onLoadSuccess: function(data) {}, //加载完成事件 参数为全部数据 onError: function(e) {} //加载错误事件 };
以下提供的为方法
$('#id').comboboxfilter('setValue',{id:1,text:'1t'}) //单选 为插件赋值 $('#id').comboboxfilter('setValues',[{id:1,text:'1t'},{id:w,text:'wt'}]) //多选 为插件赋值 $('#id').comboboxfilter('loadData',[{id:1,text:'1t'},{id:w,text:'wt'}]) //让插件加载静态数据 $('#id').comboboxfilter('load',options) //让插件重新加载数据,options为改变上次的值 $('#id').comboboxfilter('reload') //让插件重新加载数据,参数完全不改变 $('#id').comboboxfilter('getValue') //获取当前已经选择的值,
我用的时候,
var opts = $(target).data("comboboxfilter").options;
这句报错我看了一下,获取不到
$(target).data("comboboxfilter"),// 是为什么 //方法 $.fn.comboboxfilter.methods = { options: function(target) { var opts = $(target).data("comboboxfilter").options; return opts; },回复
请教。跳转后默认勾选项要如何处理呢?
源代码:
load: function(target, opts) { var $this = this; var options = $.extend({}, $.fn.comboboxfilter.methods["options"](target), opts); if (opts.url) { $.ajax({ type: 'post', data: options.param, url: options.url, success: function(data) { if (typeof(data) == typeof("string")) { data = $.parseJSON(data); } var listTarget = $(target).find('.list').html(''); $this.setData(listTarget, options, data, target); }, error: function(e) { $this.onError(e); } }); } else { var listTarget = $(target).find('.list').html(''); $this.setData(listTarget, options, options.data, target); } }, if (opts.url)改为 if (options.url)
稍后我会更新下代码,抱歉
以下提供的为方法
$('#id').comboboxfilter('setValue',{id:1,text:'1t'}) $('#id').comboboxfilter('setValues',[{id:1,text:'1t'},{id:w,text:'wt'}]) //多选 为插件赋值 id名称对应idField $('#id').comboboxfilter('loadData',[{id:1,text:'1t'},{id:w,text:'wt'}]) //让插件加载静态数据 $('#id').comboboxfilter('load',options) //让插件重新加载数据,options为改变上次的值 $('#id').comboboxfilter('reload') //让插件重新加载数据,参数完全不改变 $('#id').comboboxfilter('getValue') //获取当前已经选择的值,级联举例可进行多次绑定: onChange: function(newValue) { $('#demo1').comboboxfilter({ url: 'xxxxx', scope: 'FilterQuery1', onChange: function(newValue) { $('#demo_value').val(newValue); } }); }回复