标签: jquery-select2

如果选择被隐藏,则Select2不能正确计算"已解决"宽度

我正在使用Twitter bootstrap和梦幻般的Select2插件.

这些工作很棒,我意识到你需要{width: 'resolve'}在启动Select2时设置,否则它看起来搞砸了!

但是我的一个选择存在问题,如下图所示,Referee Type选择的宽度不正确.

这是由于此字段最初是隐藏的,只有在" 组"字段中选择" 裁判"时才会显示.

那么,我该如何解决这个问题呢?

输入

javascript css jquery twitter-bootstrap jquery-select2

39
推荐指数
5
解决办法
4万
查看次数

更新select2数据而不重建控件

我正在转换<input type="hidden">为select2下拉列表并通过查询方法提供数据

$('#inputhidden').select2({
    query: function( query ) {
        query.callback( data ); // the data is in the format select2 expects and all works well..
    );
});
Run Code Online (Sandbox Code Playgroud)

问题是我需要破解select2用户界面并在搜索栏顶部放置两个按钮,当点击它们时,将执行ajax调用,并且必须更新select2内容.

在此输入图像描述

现在,我需要完成这些更新,而不是完全重建select2,而只是刷新下拉列表中的项目.我找不到将一组新数据传递给已创建的select2控件的方法,这可能吗?

jquery jquery-select2

39
推荐指数
5
解决办法
12万
查看次数

为大量项目选择2表现

我正在使用带有twitter bootstrap的select2 jquery插件.它适用于较少数量的物品.但是当列表很大(超过1500项)时,它确实会变慢.它在IE中速度最慢.

正常下拉列表工作速度非常快,超过1500项.这种情况有没有解决方法?

jquery jquery-select2

38
推荐指数
5
解决办法
4万
查看次数

Select2不显示所选值

Select2加载我列表中的所有项目成功,这是我在页面加载时尝试选择特定值时发现的问题.例:

::将select2放在特定的html元素中,即使加载了所有项目,也不会选择任何值.

$('#my_id').select2();
Run Code Online (Sandbox Code Playgroud)

::当页面加载时我试图显示所选的特定项目,但是没有按预期工作,因为即使选中,select2也不会显示它.

$('#my_id').val('3'); //select the right option, but doesn't render it on page loads.
Run Code Online (Sandbox Code Playgroud)

如何在页面加载时弹出选定的选项?

提前致谢.

更新

::我如何加载所有select2项目(对不起,它的玉,而不是纯HTML):

label(for='category') Category
    span.required *
select(id='category', style='width:230px', name='category')
    option(value='') - Select -
    each cat in categories
        option(value='#{cat.id}') #{cat.description}
Run Code Online (Sandbox Code Playgroud)

PS:我的列表中的所有项目都已加载.

::我如何初始化select2:

只需将以下行代码放在我的javascript上即可成功:

$('#category').select2();
Run Code Online (Sandbox Code Playgroud)

::我如何选择特定值:

PS:#field-category有一个隐藏输入字段的值,工作正常.

多谢你们!

jquery-select2

35
推荐指数
4
解决办法
8万
查看次数

克隆的Select2没有响应

我正在尝试克隆包含select2工具的行,当我使用jQuery克隆该行时,克隆的select2没有响应.在下面给出的图像中,首先是原始的select2正常工作但第二和第三个select2克隆没有响应

代码段:

$(document).ready(function() {
  var clonedRow = $('.parentRow').clone().html();
  var appendRow = '<tr class = "parentRow">' + clonedRow + '</tr>';
  $('#addRow').click(function() {
    $('#test').after(appendRow);
  });
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<tr class="parentRow" id="test">
  <td>
    <g:message code="educationDetails.educationLevel.label" default="Education Level" />
  </td>
  <td>
    <div style="float: left;">
      <g:select name="degree.id" from="${EducationalDegree.list()}" optionKey="id" optionValue="title" noSelection="['': '']" id="degree" value="${cvEducationDetailCO?.degree?.id}" onchange="changeGradeSelectData(this.value)" />
    </div>
    <div>
      <a href="javascript:void(0)" id="addRow">
        <img alt="" title="Add Additional Education Level" src="/static/images
                                                                /top_submit_1.gif">
      </a>
    </div>
  </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-select2

35
推荐指数
4
解决办法
2万
查看次数

使用Ajax使用Select2设置加载时的初始值

我有使用Ajax设置的select2控件(包括单个和多个).我试图在页面加载时有一些值但是我无法让它工作.我的select2代码如下:

function AjaxCombo(element, url, multival ){  // multival = true or false
  multival = multival || false;
  $(element).select2({
   minimumInputLength: 2,
   multiple: multival,
   separator: '|',
   ajax: {
     url: url,
     dataType: 'json',
     data: function (term, page) {
        var targetname = $(this).attr('name');
        var target = targetname.slice(targetname.indexOf("[")+1, targetname.indexOf("]"));
       return {
         targettype: "search",
         target: target,
         search: term
       };
     },
     results: function (data, page) {
       return { results: data };
     }
   }
 });
}
AjaxCombo(".ajaxselect", "includes/linkedcontrol.php", false);
AjaxCombo(".ajaxmultiselect", "includes/linkedcontrol.php", true);
Run Code Online (Sandbox Code Playgroud)

Ajax组合工作正常,只有初始值加载时遇到麻烦.我在下面尝试了这段代码,但无法让它工作:

initSelection : function (element, callback) …
Run Code Online (Sandbox Code Playgroud)

ajax jquery jquery-select2

35
推荐指数
6
解决办法
11万
查看次数

Select2:init之后如何设置数据?

初始化select2后,我需要设置一个数据数组.所以我想做这样的事情:

var select = $('#select').select2({});
select.data([
  {id: 1, text: 'value1'},
  {id: 1, text: 'value1'}
]);
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

当附加到元素时,Select2不允许使用选项'data'.

我的HTML:

<select id="select" class="chzn-select"></select>
Run Code Online (Sandbox Code Playgroud)

我应该使用什么而不是选择元素?

我需要设置搜索项目的来源

javascript jquery jquery-select2

34
推荐指数
3
解决办法
5万
查看次数

如何完全清理select2控件?

我正在使用令人敬畏的select2控件.

我正在尝试用内容清理和禁用select2,所以我这样做:

$("#select2id").empty();
$("#select2id").select2("disable");
Run Code Online (Sandbox Code Playgroud)

好的,它可以工作,但如果我选择了一个值,所有项目都被删除,控件将被禁用,但仍会显示所选的值.我想清除所有内容,以便显示占位符.这是我做的一个例子,你可以看到这个问题:http://jsfiddle.net/BSEXM/

HTML:

<select id="sel" data-placeholder="This is my placeholder">
    <option></option>
    <option value="a">hello</option>
    <option value="b">all</option>
    <option value="c">stack</option>
    <option value="c">overflow</option>
</select>
<br>
<button id="pres">Disable and clear</button>
<button id="ena">Enable</button>
Run Code Online (Sandbox Code Playgroud)

码:

$(document).ready(function () {
    $("#sel").select2();

    $("#pres").click(function () {
        $("#sel").empty();
        $("#sel").select2("disable");
    });

    $("#ena").click(function () {
        $("#sel").select2("enable");
    });
});
Run Code Online (Sandbox Code Playgroud)

CSS:

#sel {
    margin: 20px;
}
Run Code Online (Sandbox Code Playgroud)

你对此有什么想法或建议吗?

javascript jquery jquery-ui jquery-select2

34
推荐指数
5
解决办法
5万
查看次数

JQuery Select2 - 如何选择所有选项

我正在使用jQuery select2多选下拉列表.我需要从代码的下拉列表中选择所有选项.基本上有一个Select All复选框,必须在其上实现此功能,我想从此复选框中选择/取消选择选项.

jquery jquery-select2

32
推荐指数
7
解决办法
7万
查看次数

Select2限制标签数量

有没有办法限制用户可以使用Select2添加到输入字段的标签数量?

我有:

$('#tags').select2({
    containerCssClass: 'supplierTags',
    placeholder: "Usual suppliers...",
    minimumInputLength: 2,
    multiple: true,
    tokenSeparators: [",", " "],
    placeholder: 'Usual suppliers...',
            createSearchChoice: function(term, data) {
                if ($(data).filter(function() {
                    return this.name.localeCompare(term) === 0;
                }).length === 0) {
                    return {id: 0, name: term};
                }

            },
    id: function(e) {
        return e.id + ":" + e.name;
    },
    ajax: {
        url: ROOT + 'Call',
        dataType: 'json',
        type: 'POST',
        data: function(term, page) {
            return {
                call: 'Helpers->tagsHelper',
                q: term
            };
        },
        results: function(data, page) {
            return {
                results: …
Run Code Online (Sandbox Code Playgroud)

javascript tags jquery jquery-select2

32
推荐指数
2
解决办法
5万
查看次数