我希望我的用户从 <select>
中选择一个值组件,但如果他在 <select>
中找不到正确的值我希望他能够自己输入一个值。
我知道如何以肮脏的方式做到这一点:如果他点击一个复选框,我将停用 <select>
并激活选择一侧的文本输入。使用 Angular JS,我什至可以让选择消失并替换为文本输入。
但是,有没有一个组件可以让我解决这个问题而无需添加一个复选框来勾选(页面上的空间有限,我想节省一些)?
最佳答案
您可以在选择下拉列表中添加一个选项,例如 My option is not in the list
,其值为 0
(或任何您喜欢的),并有一个 change 事件附加到选择。当选择的值更改为 0 时,您可以使用 jQuerys replceWith
函数将选择替换为文本输入字段:http://api.jquery.com/replacewith/
编辑:我做了一点 fiddle ,这应该比上面的更容易理解;)
http://jsfiddle.net/azumon0L/
注意:您可以为文本输入使用任何名称,这里我只是假设,您希望与 Select...中的名称相同。
Edit2:没有指定,用户应该能够返回选择,因为我是一个懒惰的 SCSS ,所以没有添加它。但是我已经更新了我的解决方案,现在它可以做你想做的事了! http://jsfiddle.net/azumon0L/2/
关于javascript - JS/JQuery : Value from select OR from text input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28611502/