You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DevExtreme dxSelectBox:如何用JavaScript实现聚焦时选中文本

DevExtreme dxSelectBox 聚焦自动选中文本(JavaScript实现)

要实现开启搜索功能的dxSelectBox在聚焦时自动选中文本,你可以沿用Angular版本的核心思路,通过DOM查询获取输入框元素,而非错误地使用component.option()方法。以下是正确的JavaScript实现:

完整配置示例

$("#yourSelectBoxId").dxSelectBox({
    dataSource: ["选项1", "选项2", "选项3"], // 替换为你的实际数据源
    searchEnabled: true, // 必须开启搜索功能才会显示输入框
    onFocusIn: function(e) {
        // 获取组件根DOM元素下的搜索输入框
        const inputElement = e.element.querySelector("input.dx-texteditor-input");
        if (inputElement) {
            // 延迟执行确保输入框已完全渲染就绪
            setTimeout(() => {
                inputElement.select();
            }, 0);
        }
    }
});

关键说明

  • 你之前的代码错误在于使用e.component.option("input.dx-texteditor-input"):option()方法仅用于读写组件的配置参数(如searchEnabled、value等),无法直接获取DOM元素。
  • e.element是dxSelectBox组件对应的根DOM节点,通过它可以正确查询到内部的搜索输入框。
  • 加入setTimeout是为了避免DOM渲染时序问题,确保输入框已完全加载后再执行选中文本操作。

内容的提问来源于stack exchange,提问作者Miguel A Gonzalez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 16:35:09