是否可以更改选择字段中的输入?
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 事件 检查按键是否为控制键 如果是这样,将焦点更改为不可见的输入 在此输入上完成粘贴事件后在此处捕获值 将选择项的值更改为输入的值:)编辑:
将焦点更改回选择字段【讨论】:
以上是关于是否可以更改选择字段中的输入?的主要内容,如果未能解决你的问题,请参考以下文章