Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquerydelete的Rails表单_Jquery_Ruby On Rails - Fatal编程技术网

使用jquerydelete的Rails表单

使用jquerydelete的Rails表单,jquery,ruby-on-rails,Jquery,Ruby On Rails,当用户单击指向使用jQuery的链接时,我试图立即删除表单的一部分,我已经提到了 问题是,删除后,该字段被隐藏,但是,如果用户验证失败或刷新页面,该字段将再次出现。只有在成功验证并保存表单后,数据才会被删除 我希望应用jQuery,这样一旦单击delete按钮,它就会立即被删除,即使在验证失败或用户刷新页面之后,删除的部分也不会再次出现 以下是我试图删除的部分的代码: <fieldset> <%= f.check_box :mon %>Mon <%= f.c

当用户单击指向使用jQuery的链接时,我试图立即删除表单的一部分,我已经提到了

问题是,删除后,该字段被隐藏,但是,如果用户验证失败或刷新页面,该字段将再次出现。只有在成功验证并保存表单后,数据才会被删除

我希望应用jQuery,这样一旦单击delete按钮,它就会立即被删除,即使在验证失败或用户刷新页面之后,删除的部分也不会再次出现

以下是我试图删除的部分的代码:

<fieldset>
  <%= f.check_box :mon %>Mon
  <%= f.check_box :tue %>Tue
  <%= f.check_box :wed %>Wed
  <%= f.check_box :thur %>Thur
  <%= f.check_box :fri %>Fri
  <%= f.check_box :sat %>Sat
  <%= f.check_box :sun %>Sun
  <%= f.hidden_field :_destroy %>
  <%= link_to 'Delete deal period', '#', class: 'remove_fields' %><br/><br/>
  <%= f.fields_for :deal_times do |builder| %>
      <%= render 'form/deal_time_form', f: builder %>
  <% end %>
  <%= link_to_add_time "Add timing", f, :deal_times %>
</fieldset>

任何帮助都将不胜感激!谢谢

每次你重新加载一个页面,javascripts都会被重新加载,如果你能通过操作来处理它就好了,比如在操作中添加一个标志变量,它将决定字段的可见性。点击事件后,你只需更改标志。

感谢你的ans。但是,我不确定如何实现这一点。我试着把这个$(this.nestest('fieldset').addClass('hidden')包括在内,但效果不太好。
$ ->
  $('form').on 'click', '.remove_fields', (event) ->
    $(this).prev('input[type=hidden]').val('1')eve
    $(this).closest('fieldset').hide()
    event.preventDefault()