通过选择框创建实体

时间:2013-05-07 14:54:14

标签: javascript ruby-on-rails-3 web-applications angularjs

当用户需要的选项不在选择框中时,如何让用户通过选择框本身,通过快速书,收获等创建新选项?

我想在选择框中包含一个“创建”选项,并选择它来显示相邻的文本框。提交时,新的“选项”将在单独的参数哈希中提交。后端API将首先在事务中处理新的选项请求。虽然我相信这种方法可行,但我觉得好像必须有更好的方法。思想/见解表示赞赏。

1 个答案:

答案 0 :(得分:0)

这就是我通常这样做的方式:

在选择框旁边,我添加一个按钮"添加新的"。单击时,此按钮将打开一个模式对话框(例如https://github.com/angular-ui/bootstrap/tree/master/src/dialog),其中包含用于创建新条目的表单。

当用户填写对话框表单并单击"保存"时,在服务器成功响应后,我将关闭对话框并更新选择框选项,方法是再次从服务器中拉出列表,或者只需将新项目附加到先前获取的列表即可。

在流程结束时,我会预先选择新创建的项目,因为这是用户首先要选择的内容。


其他解决方案是使用像select2插件和指令(http://ivaynberg.github.io/select2/https://github.com/angular-ui/ui-select2)这样的地方,它的标记支持使您可以就地创建新标记。