2010-09-29 45 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

相關問題