Tag: jquery select2 4

如何禁用select2 v4.0创建新标签?

我一直在尝试新的Select2 v4.0 ,它有很多改进。 我主要对tagsfunction感兴趣。 我希望能够通过ajax搜索标签, 只能从显示的结果中选择一个标签,而不能创建新的标签。 该function类似于StackOverflow – 如果您没有必要的声誉,则无法创建新标签,但您仍可以使用现有标签标记问题。 这是我的代码的jsfiddle ,它取自示例。 在该示例中,您可以创建我想要限制的新标记。 用户应该只能从通过ajax从GitHub检索的列表中选择标签。 有人知道如何禁用此function吗?

jquery-select2 ajax搜索显示另一个div中的标签

我想在另一个div中显示所选结果,而不是在输入框中。 function formatRepo (repo) { if (repo.loading) return repo.text; var markup = “” + “” + “” + “” + repo.full_name + “”; if (repo.description) { markup += “” + repo.full_name + “”; } markup += “” + //” ” + repo.forks_count + ” Forks” + //” ” + repo.stargazers_count + ” Stars” + // […]

在同一页面/网站上选择2个多个版本

下午, 在一个网站上,我已经更新了许多使用select2 v.3.5.2到新版本4.0的元素(其中一些元素位于所有页面上的网站标题上) 不幸的是在网站的某些页面上使用了X-editable jquery插件,并且该插件与select2的v 4.0不兼容(请阅读:根本不播放) 我的问题是:我可以在某些页面上使用两个版本的select2吗? 如果是这样,怎么样? 由于$(…).select2(); 是盲目的加载哪个版本的select2 …. 示例代码: $(“#search_species”).select2({ minimumInputLength: 1, maximumSelectionSize: 1, ajax: { url: “/php/search.php”, dataType: ‘json’, delay: 250, data: function (params) { return { query: params.term }; }, processResults: function (data, params) { return { results: data }; }, cache: true }, escapeMarkup: function (markup) { return markup; […]

选择2版本4.0允许用户输入自由文本

我使用的是最新版本的Select2: Select2 4.0 。 我想允许用户输入自由文本。 换句话说,如果用户在下拉列表中找不到选项(ajax返回的数据),我希望他们能够“选择”他们输入的任何文本。 这是我的标记: 这是我用来初始化Select2的JavaScript: $(“#businessName”).select2({ ajax: { url: “/register/namelookup”, dataType: ‘json’, delay: 250, type: ‘post’, data: function (params) { return { businessName: params.term, // search term page: params.page }; }, processResults: function (data, page) { return { results: data.items }; }, cache: false }, escapeMarkup: function (markup) { return markup; }, […]

Select2 – 按查询排序结果

我正在使用Select2版本4.0.0。 如果我的结果包含多个单词,并且用户输入其中一个单词,我想显示按输入单词在结果中的位置排序的结果。 例如,用户输入“apple”,我的结果是: “香蕉橙苹果” “香蕉苹果橙” “苹果香蕉橙” 然后“apple banana orange”应首先出现在select2结果列表中,因为这是“apple”最早出现在结果中的结果。 我不太关心过去的排序。 我可以覆盖或配置什么来获得这样的东西? 似乎matcher不处理排序,并且sorter器不包含查询数据。

如何在没有ajax的select2 4.0中启用无限滚动

我正在使用带有自定义数据适配器的select2 。 提供给select2所有数据都是在网页中本地生成的(因此不需要使用ajax)。 由于query方法可以生成很多结果(约5k),打开选择框的速度相当慢。 作为补救措施,我想使用无限滚动。 自定义数据适配器的文档说, query方法应该与term一起接收page参数: @param params.page应加载的特定页面。 这通常在使用远程数据集时提供,远程数据集依靠分页来确定应显示哪些对象。 但事实并非如此:只有term存在。 我试图返回more: true或more: 1000 ,但这没有帮助。 我想这是因为,默认情况下, 如果启用了ajax,则启用无限滚动 。 我猜测启用无限滚动将涉及使用amd.require ,但我不确定该怎么做。 我试过这段代码: $.fn.select2.amd.require( [“select2/utils”, “select2/dropdown/infiniteScroll”], (Utils, InfiniteScroll) => input.data(“select2”).options.options.resultsAdapter = Utils.Decorate(input.data(“select2”).options.options.resultsAdapter, InfiniteScroll) ) 这是咖啡脚本,但我希望它对每个人都是可读的。 input是包含select框的DOM元素 – 我之前做过input.select2( //options ) 我的问题基本上是,如何在没有ajax情况下启用无限滚动?

将多个Select2链接在一起

尝试使用select2插件创建两个链接自动填充选择字段第一个选择包含国家/地区名称(静态选择),第二个选择显示从第一个选择我的代码中选择的国家/地区的状态是 USA Untied Kingdom France etc…….. JavaScript代码 $(document).ready(function() { $(‘#country’).select2({ placeholder: ‘Select Country’, allowClear: true }); $(‘#state’).select2({ placeholder: ‘Select State’, allowClear: true }); $(‘#country’).change(function() { var selectedCountries = $(‘#countryoption:selected’).val(); var selectedCountries = ‘id=’+ selectedCountries; $.ajax({ type: ‘POST’, url: ‘http://localhost/CodeIgniter/countries/get_state/’, dataType: ‘html’, data: selectedCountries, }).done( function( data ) { data = $.map(data, function(item) { return { […]

select2使用ajax加载数据无法选择任何选项

我有以下代码(javascript): $(‘#cbxConnections’).select2({ minimumInputLength: 0, multiple: false, allowClear: true, placeholder:{ text:”@Diccionario.Connections”, id:” @Diccionario.Connections” }, ajax:{ url:’@Url.Action(“GetActiveConnections”,”Admin”)’, dataType: ‘json’, type:’post’, data:function(params){ return { q: params.term }; }, processResults: function(data,page){ return { results: data }; } }, escapeMarkup: function (markup) { return markup; }, templateResult: function(response){ return ”+response.Name+”; }, templateSelection: function(response){ return response.Id; }, id: function(connection){ console.log(connection); } […]

选择2 v4如何使用AJAX对结果进行分页

我正在尝试使用Select2 4.0分页结果(每25行),但我不知道如何实现它。 有人知道怎么做吗? 如果用户到达25行的末尾,并且如果有更多行,我想加载它并显示它。 这是我的HTML模板 {!! Form::select(‘breed_id’, $breeds, null, [‘class’ => ‘form-control’, ‘id’ =>’breed_id’] ) !!} 这是Select2的JavaScript。 $(“#breed_id”).select2({ placeholder: ‘Breed…’, width: ‘350px’, allowClear: true, ajax: { url: ”, dataType: ‘json’, data: function(params) { return { term: params.term } }, processResults: function (data, page) { return { results: data }; }, cache: true } }); 这是我的控制器代码 […]

jquery select2:从php-mysql获取数据时出错

我在本地机器上测试select2插件。 但出于某种原因。 它不是从数据库中收集数据。 我尝试了多次,但无法找到问题。 以下是代码。 var lastResults = []; $(“#tags”).select2({ multiple: true, placeholder: “Please enter tags”, tokenSeparators: [“,”], initSelection : function (element, callback) { var data = []; $(element.val().split(“,”)).each(function () { data.push({id: this, text: this}); }); callback(data); }, ajax: { multiple: true, url: “fetch.php”, dataType: “json”, type: “POST”, data: function (params) { return { q: […]