为chosen jQuery插件动态添加未找到的下拉框值

本文介绍如何使用Chosen插件实现用户输入值动态添加为下拉选项,并保存至后台。通过监听chosen:no_results事件,捕捉用户输入的Enter键,将新值添加到<select>元素中,并触发chosen:updated事件更新下拉框。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.问题描述

做项目的时候遇到的问题:chosen选项中没有可选值,想实现用户输入的值动态添加入option,存到后台保存

二.插件准备

下载网址:https://harvesthq.github.io/chosen/,在页面引入css样式和js

三.代码

html:
<select name="leader_name" id="leader_name">
<option value="住">住</option>
<option value="住小明">住小明</option>
<option value="熊芳">熊芳</option>
</select>
js:
```css
<script>
  $(document).ready(function () {
        var leader_name = '#leader_name';
        //chosen初始化
        $(leader_name).chosen({
            width: "90%",
            no_results_text: "未找到该用户,按回车即可增加"
        });
        $(leader_name).on('chosen:no_results', function (e, params) {
        //获取chosen搜索框的input,插件自带
            $('.chosen-search input').keyup(function (event) {
            //判断用户是否输入enter键,否则chosen:no_results方法默认按一个键盘就执行一次,则会插入多个
                var keynum = (event.keyCode ? event.keyCode : event.which);
                if (keynum == '13') {
                    $(leader_name).append(new Option($('.no-results span').html(), $('.no-results span').html()));
                    //插入完之后动态刷新下拉框
                    $(leader_name).trigger("chosen:updated");
                }
            });
        });
    });
    </script>

四.效果图

 修改之前:

在这里插入图片描述

 修改之后:

在这里插入图片描述在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值