-2

请帮帮我!!

我想创建可编辑的数据表。表格顶部将是一个“添加”按钮,它使用 javascript 将行添加到表格中。在每一行中应该是按钮(链接)“保存”和“删除”。

如何向服务器发送 post 请求?

对不起我的迟钝..

在 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

我的 new.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"}
4

1 回答 1

0

我想这就是你会看到的那种答案。遵循 railscasts http://railscasts.com/episodes/196-nested-model-form-part-1嵌套表单中的教程,它应该对您有所帮助。基本上你会有一个添加行按钮,它会在 javascript 中添加 html 行,你甚至可以有一个删除行按钮。完成后,只需按表单的保存按钮即可完成所有更改。

于 2012-07-31T13:38:58.857 回答