javascript - JS/JQuery : Value from select OR from text input

标签 javascript jquery angularjs

我希望我的用户从 <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/

相关文章:

javascript - 如何在数据库中为特定用户保存动态 html 代码

javascript - jQuery:如何在删除复选框后回调/恢复

javascript - if else 验证方法之间的区别

javascript - 如何使用 twitter bootstrap 3.1.1 模态

javascript - 将两个事件添加到 IF 语句中......需要帮助!

AngularJS + 测试 anchor 元素单击

angularjs - 在指令中添加 ngDisabled

javascript - 用几个点替换 HTML 文本的末尾

javascript - 在 Javascript 客户端中处理不成功的 websocket 升级请求

javascript - 如何动态居中 div css 高度和宽度