我该如何组织这种逻辑



请帮帮我!!

我想创建可编辑的数据表。在表的顶部会有一个按钮"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行,你甚至可以有一个删除行按钮。完成后,只需按下表单的保存按钮即可完成所有更改。

相关内容

  • 没有找到相关文章

最新更新