2010-09-29 38 views
0

我已经使用Rails代码生成的选择&它的对象:如何使用Prototype&Rails将选择元素动态添加到表单中?

var insert_tag = '<select class="select medium" id="category_id" name="search[category_id]"><option value="-1">Select Category</option> 
<option value="1">Boats and Cruisers</option> 
<option value="2">Car Parts and Spares</option> 
<option value="3">Caravans</option> 
<option value="4">Coaches and Buses</option> 
<option value="5">Commercial Parts</option> 
<option value="6">Commercials</option> 
<option value="7">Crash Repair Services</option></select>'; 

我有,当叫应插入这个领域进入一个空白的div JavaScript函数:

<div "form_field_a"></div> 


$("form_field_a").insert(insert_tag); 

但是,当这运行我刚刚得到这个错误:

content.toElement is not a function 
[Break on this error] if (content && content.toElement) content = content.toElement(); 

我是JavaScript新手,不知道为什么这是行不通的。

回答

1

我不知道原型,但你div元素缺少id属性(目前它是无效的HTML):

<div id="form_field_a"></div> 

然后它似乎工作:http://jsfiddle.net/KqVdf/1

还要注意的是, insert_tag的值是一行没有换行符(否则有错误)。

+0

很好的回答,jsfiddle.net - 奇妙的工具。当我生成选择代码时,Rails在每个标记后放置一个新行,你知道如何使用JavaScript删除它吗?谢谢! – Jason 2010-09-29 22:22:39

+0

我只是将附加的轨道select_tag添加到.gsub(/ \ r \ n?/,“”),它工作正常! – Jason 2010-09-29 22:33:09

相关问题