我希望有人可以在这里帮助我。
我在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。
答案 0 :(得分:3)
val()
用于在表单控件上获取和设置value
,但#status_message
是<div>
尝试使用text()
alert($("#status_message").text());