【问题标题】:Rails 3 forms question: How to create a "select" with "Add New ..." option?Rails 3 forms问题:如何使用“Add New ...”选项创建“select”?
【发布时间】:2011-05-24 01:48:46
【问题描述】:

我想创建一个select 框,其中包含当前现有品牌(例如索尼、松下等)。另外,我想有Add New Brand选项,这样当用户点击这个选项时,会出现一个新的文本字段。

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

【问题讨论】:

    标签: javascript ruby-on-rails forms select


    【解决方案1】:

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

    这是我在 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/

    【讨论】:

      【解决方案2】:

      查看@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

      【讨论】:

      • 这似乎与 OP 的问题无关。
      • 相关。第二个链接涵盖了它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多