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

Laravel项目中如何通过jQuery获取SOL多选组件的输入搜索值

解决SOL组件搜索值同步到文本框的问题

要实现将Searchable Option List(SOL)的搜索输入值同步到另一个文本框,关键是找到SOL动态生成的搜索输入框并监听其输入事件,具体步骤如下:

1. 确认SOL搜索框的DOM选择器

SOL初始化后会自动生成带类名.sol-search-input的搜索输入框,这是我们需要监听的目标元素。

2. 绑定输入事件实现同步

有两种可靠的方式实现值同步:

方式一:利用SOL初始化回调(推荐)

在SOL的配置中加入onInitialized回调,确保组件完全初始化后再绑定事件:

$('.multi-select').searchableOptionList({
    maxHeight: '250px',
    showSelectAll: true,
    showSelectionBelowList: true,
    onInitialized: function() {
        // 获取当前SOL实例的搜索输入框
        const searchInput = this.$searchInput;
        // 监听输入事件,同步值到目标文本框
        searchInput.on('input', function() {
            // 替换#target-input为你的目标文本框选择器
            $('#target-input').val($(this).val());
        });
    }
});

方式二:使用事件委托(适配多实例场景)

如果页面存在多个SOL组件,可通过事件委托监听动态生成的搜索框:

// 初始化SOL组件
$('.multi-select').searchableOptionList({
    maxHeight: '250px',
    showSelectAll: true,
    showSelectionBelowList: true
});

// 监听所有SOL搜索框的输入事件
$(document).on('input', '.sol-search-input', function() {
    // 替换#target-input为你的目标文本框选择器
    $('#target-input').val($(this).val());
});

3. 目标文本框示例

确保页面上存在用于接收同步值的文本框:

<input type="text" id="target-input" placeholder="同步搜索内容">

内容的提问来源于stack exchange,提问作者Sukhpal Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 18:33:27