是否可以更改选择字段中的输入?

Posted

技术标签:

【中文标题】是否可以更改选择字段中的输入?【英文标题】:Is it possible to change the input in a select field? 【发布时间】:2015-09-01 03:53:10 【问题描述】:

我有一个包含两个选择字段的表单,我使用 select2 来匹配和标记插入到该字段中的内容。我需要将由新行分隔的输入列表转换为由空格分隔的列表(因为 IE 不会自动执行此操作)。

我有以下代码,它适用于任何 <input> 字段:

$('#editor').bind('paste', function (e) 
            var clipped = window.clipboardData.getData('Text');
            clipped = clipped.replace(/(\r\n|\n|\r)/gm, " "); //replace newlines with spaces
            $(this).val(clipped);
            alert(clipped);
            return false; //cancel the pasting event
        );

但如果#editor 是<select> 字段,它似乎不起作用。

<form method="POST" action="/run" class="ui-widget" onsubmit=" return confirmSubmit(this, 'run',true) ">
    Editor:
    <select name="editor" id="editor" multiple style="width: 200px">
        <option>ALL</option>
    </select>
        <input type="submit" value="Submit">
 </form>

知道缺少什么吗?

【问题讨论】:

据我所知,IE 甚至不支持粘贴到选定字段中。 如果我在 select2 选项中有 multiple style 和匹配器,它就可以工作。 我没有使用 select2 获得任何“粘贴”事件。在这里比较:jsfiddle.net/ct5172sk 是的,它似乎无法识别它们。这就是问题所在。 我并不完全清楚你想做什么,你可能想改写你的 q 和/或提供一个完整的代码演示。但我认为这可能是您正在寻找的:***.com/a/17238679/1922144 【参考方案1】:

我不相信选择粘贴是可能的

解决方法可能是:

创建一个不可见的输入 在选择字段上绑定 keydown 事件 检查按键是否为控制键 如果是这样,将焦点更改为不可见的输入 在此输入上完成粘贴事件后在此处捕获值 将选择项的值更改为输入的值:)

编辑:

将焦点更改回选择字段

【讨论】:

以上是关于是否可以更改选择字段中的输入?的主要内容,如果未能解决你的问题,请参考以下文章

javascript datepicker检测输入字段中的更改值

输入字段在设置值后扩展?

在选择框更改事件上获取隐藏输入字段的 ID

jquery调用ajax后,更改几个输入字段

Windows 中的日期时间选择器

当对象中的字段发生更改时如何从 v-model 数组中删除对象