Jquery $ .get在函数执行后返回数据

时间:2017-02-16 02:29:47

标签: jquery ruby-on-rails

我希望有人可以在这里帮助我。

我在jquery中有以下内容:

$( document ).on('turbolinks:load', function() {
    $("body").on('click', '#submit_roster_item_add', function() {
        $.get("add_roster_item_info", {
            id: $("#roster_id").text(),
            first_name: $("#first_name").val(),
            last_name: $("#last_name").val(),
            email: $("#email").val(),
            youth: $('input[name="roster_item[youth]"]:checked').val(),
            parent_last_name: $("#parent_last_name").val(),
            parent_first_name: $("#parent_first_name").val(),
            parent_email: $("#parent_email").val(),
            parent_type: $("#parent_type").val()
        },function(data) {
            $("#roster_panel").html(data);
            alert($("#status_message").val());
        });
    });
});

控制器函数正确执行,返回包含元素#status_message的html。但是,警报会在数据发布之前触发。该函数正确返回。如何构造代码以便在函数返回后触发警报?

这是呈现的部分:

<div id = 'roster_item_content'>
  <%= semantic_form_for @roster_item do |form| %>
      <h3>Add a counselor or youth participant</h3>
      <div id="status_message"><%= @status_message %><%= @error_count %></div>
      <%= form.inputs do %>
          <%= form.input :youth, label: 'Type of Participant', as: :radio, collection: [['Adult counselor', false, {checked: true}], ['Youth', true]] %>
          <%= form.input :first_name, input_html: {id: 'first_name'} %>
          <%= form.input :last_name, input_html: {id: 'last_name'} %>
          <%= form.input :parent_first_name, style: 'display:none', required: true, label: 'Responsible adult first name', input_html: {id: 'parent_first_name'} %>
          <%= form.input :parent_last_name, required: true, label: 'Responsible adult last name', input_html: {id: 'parent_last_name'} %>
          <%= form.input :parent_email, required: true, label: 'Responsible adult email', input_html: {id: 'parent_email'} %>
          <%= form.input :parent_type, required: true, label: 'Responsible adult role', input_html: {id: 'parent_type'} , as: :select, collection: Constant::PARENT_TYPES, include_blank: false %>
          <%= form.input :email, input_html: {id: 'email'} %>
      <div class="button_container" >
        <input id="submit_roster_item_add" type="button" value = "Send forms packet" class = "button" >
      </div>
      <% end %>
  <% end %>
</div>

安装Turbolinks和jquery.turbolinks。

1 个答案:

答案 0 :(得分:3)

val()用于在表单控件上获取和设置value,但#status_message<div>

尝试使用text()

alert($("#status_message").text());