【发布时间】:2011-05-24 01:48:46
【问题描述】:
我想创建一个select 框,其中包含当前现有品牌(例如索尼、松下等)。另外,我想有Add New Brand选项,这样当用户点击这个选项时,会出现一个新的文本字段。
Rails 3 中是否有任何辅助方法可以执行此类操作,或者我需要自己使用 Javascript 来实现?
【问题讨论】:
标签: javascript ruby-on-rails forms select
我想创建一个select 框,其中包含当前现有品牌(例如索尼、松下等)。另外,我想有Add New Brand选项,这样当用户点击这个选项时,会出现一个新的文本字段。
Rails 3 中是否有任何辅助方法可以执行此类操作,或者我需要自己使用 Javascript 来实现?
【问题讨论】:
标签: javascript ruby-on-rails forms select
据我所知,没有这样的辅助方法。
这是我在 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
}
【讨论】:
查看@RailsCasts.com 的以下视频。 Ryan Bates 解释了如何创建嵌套表单,然后使用 jQuery 或 Prototype 动态添加和删除字段。这不是您的问题的完美匹配,但应该让您朝着正确的方向前进。如果您得到一些运行良好的代码,请考虑将其发布在此问题上供所有人查看。
【讨论】: