Rails 3 表单问题:如何创建“选择”表单与“添加新...”选项?

发布于 2024-10-07 08:09:13 字数 165 浏览 1 评论 0原文

我想创建一个包含当前现有品牌(例如索尼、松下等)的选择框。此外,我希望有添加新品牌选项,这样当用户单击此选项时,会出现一个新的文本字段。

Rails 3 中是否有任何辅助方法可以执行此类操作,或者我需要使用 Javascript 自己实现此操作?

I would like to create a select box with currently existing brands (e.g. Sony, Panasonic, and so on). In addition, I would like to have Add New Brand option, such that when user clicks this option, a new text field appears.

Is there any helper methods in Rails 3 that do such thing, or I need to implement this myself using Javascript ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

_失温 2024-10-14 08:09:13

据我所知,没有这样的辅助方法。

这是我在 JS 中的做法:

document.getElementById('someSelectBox').onchange = function() {
    if(this.selectedIndex != this.options.length -1) return;
    var new_name = prompt('Please enter a name');
    if(!new_name.length) return;
    var textbox = document.createElement('input');
    textbox.value = new_name;
    this.parentNode.appendChild(textbox); //parentNode is presumably the form
}

工作示例: http://jsfiddle.net/tCBqA/

To my knowledge there is no such helper method.

Here's how I would do it in JS:

document.getElementById('someSelectBox').onchange = function() {
    if(this.selectedIndex != this.options.length -1) return;
    var new_name = prompt('Please enter a name');
    if(!new_name.length) return;
    var textbox = document.createElement('input');
    textbox.value = new_name;
    this.parentNode.appendChild(textbox); //parentNode is presumably the form
}

Working example: http://jsfiddle.net/tCBqA/

久伴你 2024-10-14 08:09:13

查看以下视频 @ RailsCasts.com。 Ryan Bates 解释了如何创建嵌套表单,然后使用 jQuery 或 Prototype 动态添加和删除字段。这与您的问题并不完美匹配,但应该能让您朝着正确的方向前进。如果您获得一些运行良好的代码,请考虑将其发布回此问题以供每个人查看。

http://railscasts.com/episodes/196-nested-model-form -part-1

http://railscasts.com/episodes /197-nested-model-form-part-2

Checkout the following videos @ RailsCasts.com. Ryan Bates explains how to create a nested form and then use jQuery or Prototype to add and remove fields dynamically. It isn't a perfect match for you question but should get you headed in the right direction. If you get some code that works well consider posting it back on this question for everyone to see.

http://railscasts.com/episodes/196-nested-model-form-part-1

http://railscasts.com/episodes/197-nested-model-form-part-2

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文