请帮帮我!!
我想创建可编辑的数据表。在表的顶部会有一个按钮"Add",它用javascript将行添加到表中。每一行都应该有按钮(链接)"保存"one_answers"删除"。
如何向服务器发送投递请求?
抱歉我的迟钝。。
在application.js中,我有一个类似的函数
function AddElementsToPage(elements) {
/*elements - is array with name elements whose will be add to page*/
this.add_row_to_data_table = function(obj,attributes,selector_table){
last_row_of_table = selector_table.find('tbody tr').last();
var new_row = "<tr><th scope='row'></th>";
if ($.isEmptyObject(last_row_of_table.html()))
{
$.each(attributes, function(index, item){
input_tag = "<input id=""+obj+"_"+item+"" name=""+obj+"["+item+"]" size="10" type="text" />";
new_row = new_row + "<td>"+input_tag+"</td>";
})
alert(new_row);
selector_table.append(new_row+"</tr>");
}else
{
alert("not empty");
}
}
我的控制器操作新
def new
@table_row = SchOfWorkInformation.new
respond_to do |format|
format.js do
render :action => 'new'
end
end
end
我的新.js文件
var obj = new AddElementsToPage();
obj.add_row_to_data_table("sch_of_working",["date","hour"], $('.data_table'))
我的index.haml
= link_to content_tag('span', "Add" , :class=>"add"), new_sch_of_work_information_path, :remote => true
%table{:border=>"1", :class=>"data_table", :style=>"width:450px"}
%thead
%th{:style=>"width:5%;"} №
%th{:style=>"width:10%;"} Date
%th{:style=>"width:10%;text-align:center;"} schedule_code
%th{:style=>"width:2%;",:class=>"transperent_right_border"}
%th{:style=>"width:2%;"}
%tbody
%tr
%th{:scope=>"row"}
%td=@sch.date
%td=@sch.schedule_code
%td{:style=>"text-align:center"}= link_tag "save", sch_of_work_informations, #how can send post request in here
%td{:style=>"text-align:center"}
我想这就是你会看到的答案http://railscasts.com/episodes/196-nested-model-form-part-1嵌套形式,它应该会对您有所帮助。基本上,你会有一个添加行按钮,它会在javascript中添加html行,你甚至可以有一个删除行按钮。完成后,只需按下表单的保存按钮即可完成所有更改。