【问题标题】:Ajax request dependent upon which button clickedAjax 请求取决于单击的按钮
【发布时间】:2014-09-15 08:38:20
【问题描述】:

我想知道是否有人可以提供以下帮助。我有两个按钮,单击时需要呈现不同的表单,我想用 Ajax 来实现

    <!-- Animal Type -->
   <div class="col-md-6 type-col" data-clicked-status="false">
      <button class="btn btn-default btn-green btn-animal-type" id="dog_rehome_button" data-remote="true">Dog</button>
   </div>

   <div class="col-md-6 type-col" data-clicked-status="false">
      <button class="btn btn-default btn-green btn-animal-type" id="cat_rehome_button" data-remote="true">Cat</button>
   </div>

在我看来,我已经准备好要加载内容的 div,并进行此设置

new.js.erb

$(".rehome_form").html("<%= escape_javascript(render('/animals/dog_rehome')) %>");

因此,在单击任一按钮时,就会呈现 dog_rehome 表单。

理想情况下,我希望在单击 Cat 按钮时呈现不同的表单。

/animals/cat_rehome

如何告诉 Rails 在单击其按钮时呈现相应的表单

【问题讨论】:

    标签: javascript jquery ruby ajax ruby-on-rails-4


    【解决方案1】:
    $('#cat_rehome_button').click(function() {
        $(".rehome_form").html("<%= escape_javascript(render('/animals/cat_rehome')) %>");
    });
    

    【讨论】:

    • 谢谢,当我这样做时,虽然我在加载的表单中出现无法识别的语法错误,所以我将加载更改为 html,它可以工作,但我必须单击两次按钮才能显示表单,每次单击按钮时都会请求/animals/new,有什么想法吗?
    • 请注意,如果您使用.html() 而不是.load(),您将删除任何可能在已加载表单中的JavaScript。我必须查看您的其余代码才能让您知道该错误来自何处。卸载当前表单时,您的 form.rehome_form 元素是否已清空?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 2021-01-02
    • 2019-12-10
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 2022-08-15
    相关资源
    最近更新 更多