选择后保持焦点 Select2

Posted

技术标签:

【中文标题】选择后保持焦点 Select2【英文标题】:Keep focus after selection is made Select2 【发布时间】:2017-07-19 19:18:48 【问题描述】:

在进行选择后,我遇到了 Select2 保持焦点的问题。我的应用程序中有一些很长的表格需要通过标签进行浏览。现在,一旦使用 Select2 进行选择,焦点就会丢失,因此无法切换到下一个字段。

您可以在他们的示例页面上对此进行测试。标准选择字段允许在选择后进行制表符,Select2 字段现在可以。

编辑:我使用 Select2 的区域示例。

html

<div class="form-group">
    @Html.LabelFor(m => m.Addresses[i].City)
    @Html.TextBoxFor(m => m.Addresses[i].City, new  @class = "form-control jsAddressCity" )
    @Html.ValidationMessageFor(m => m.Addresses[i].City)
</div>

<div class="form-group">
    @Html.LabelFor(m => m.Addresses[i].StateId)
    @Html.DropDownListFor(m => m.Addresses[i].StateId, new SelectList(Model.StatesList, "Id", "Code", Model.Addresses[i].StateId), "Select State", new  @class = "form-control jsAddressStateId jsSelect2" )
    @Html.ValidationMessageFor(m => m.Addresses[i].StateId)
</div>

<div class="form-group">
    @Html.LabelFor(m => m.Addresses[i].Zip)
    @Html.TextBoxFor(m => m.Addresses[i].Zip, new  @class = "form-control jsAddressZip" )
    @Html.ValidationMessageFor(m => m.Addresses[i].Zip)
</div>

JS:

        $(".jsSelect2").select2(
            width: "100%",
            theme: 'bootstrap'
        );

【问题讨论】:

jsfiddle.net/fyhsz9ra/1183 我做了一个小提琴,我无法弄清楚你的问题。能否请您提供详细信息 嗯,不知道我的情况如何。在您的示例中,它工作正常。如果您使用 tab 或 select 选择一个项目,您的 Select2 将关闭但保持焦点,允许您通过 tab 进入下一个控件。在我的情况下,当您进行选择时,Select2 会关闭,但焦点不再位于控件上。没有焦点,因此您无法查看下一步。我有 Select2 的最新更新,除了使用 Bootstrap 主题之外,我不相信我在做任何不同的事情。无论有没有这个主题,它都会做同样的事情。 请提供您的html 编辑了我的帖子,并附上了一个简短的使用示例。 您能验证一下您使用的是哪个版本的 select2 【参考方案1】:

我有同样的问题。这是4.0.3版本的bug,请改用select2 4.0.2

【讨论】:

我转而使用 4.0.2,但仍然遇到了这个问题。但是那里的链接中的解决方法为我修复了它。感谢您的帮助。 我们从 4.0.5 回到 4.0.2,这为我们解决了这个问题。谢谢。【参考方案2】:

为了在选择一个选项后保持 select2 的焦点和打开状态,我们只需要在加载它时提供一个额外的参数。

$(".jsSelect2").select2(
        width: "100%",
        theme: 'bootstrap',
        closeOnSelect: false
    );

希望这对将来的某人有所帮助。

【讨论】:

以上是关于选择后保持焦点 Select2的主要内容,如果未能解决你的问题,请参考以下文章

TextBox - 当它失去焦点时,我可以保持选择突出显示吗?

状态改变后保持元素焦点

CxGrid失去焦点后如何继续保持选中单元的高亮状态

重新渲染后哪个组件需要键来保持焦点?

按下按钮和文本字段切换后 UITextField 失去焦点(键盘保持可见)

如何在 WinRT/UWP RichEditBox 中保持突出显示的文本失去焦点?