本文介绍了选择2 4自定义数据适配器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试根据此处的示例创建自定义数据适配器: select2.github.io/announcements-4.0.html#query-to-data-adapter 。 如何在函数外部使用DataAdapter的定义移动创建select2控件的行(参见下面的代码)?
I am trying to create a custom data adapter according to an example here: select2.github.io/announcements-4.0.html#query-to-data-adapter. How can I move the line that creates the select2 control outside the function with definition of DataAdapter (see the code below)?
<!DOCTYPE html> <head> <title></title> <link href="select2.css" rel="stylesheet" /> <script type="text/javascript" src="code.jquery/jquery-2.1.4.js"></script> <script type="text/javascript" src="select2.full.js"></script> <script type="text/javascript"> $.fn.select2.amd.require( ['select2/data/array', 'select2/utils'], function (ArrayData, Utils) { function CustomData ($element, options) { CustomData.__super__.constructor.call(this, $element, options); } Utils.Extend(CustomData, ArrayData); CustomData.prototype.query = function (params, callback) { var data = {results: []}; data.results.push({id: params.term, text: params.term}); data.results.push({id: 11, text: 'aa'}); data.results.push({id: 22, text: 'bb'}); callback(data); }; // Works if uncommented, but this line needs to be elsewhere (in $(document).ready()). //$("#my").select2({tags: true, dataAdapter: CustomData}); }); $(document).ready(function() { // This line does not work here. $("#my").select2({tags: true, dataAdapter: CustomData}); }); </script> </head> <body> <select id="my"></select> </body> </html>推荐答案
你通过AMD-Pattern定义它:
you define it via AMD-Pattern:
$.fn.select2.amd.define('select2/data/customAdapter',[ 'select2/data/array', 'select2/utils' ], function (ArrayAdapter, Utils) { function CustomDataAdapter ($element, options) { CustomDataAdapter.__super__.constructor.call(this, $element, options); } Utils.Extend(CustomDataAdapter, ArrayAdapter); CustomDataAdapter.prototype.current = function (callback) { callback(...); }; return CustomDataAdapter; } ); var customAdapter=$.fn.select2.amd.require('select2/data/customAdapter'); $("#my").select2({ tags: true, dataAdapter: customAdapter });更多推荐
选择2 4自定义数据适配器
发布评论