CoffeeScript 从 id/class/name 获取 select 字段
CoffeeScript get select field from id/class/name
我是 CoffeeScript 的新手,遇到了一些愚蠢的任务。我无法从他的 ID 或自定义 class 或名称中获取 selector 字段。
users/_form.html.erb:
<%= form_for user do |f| %>
<% if user.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(user.errors.count, 'erro') %> prohibited this user from being saved:</h2>
<ul>
<% user.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<p>Pseudo:</p>
<%= f.label :name %>
<%= f.text_field :name, id:'name_field' %>
<%= f.label :status %>
<%= f.select :status, options_for_select(%w(Visitor Member), id: 'status_select', selected: user.status) %>
<p>Account:</p>
<%= f.fields_for :account, @account do |account| %>
<%= account.label :city %>
<%= account.text_field :city, id: 'city_field' %>
<%= account.label :email %>
<%= account.text_field :email, id: 'email_field' %>
<% end %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
app/assets/javascripts/users.咖啡
jQuery(document).on 'turbolinks:load', ->
status = $("#status_select")
city = $("#city_field")
city.on "change", ->
alert "city field changed!"
status.on "change", ->
alert "status field changed!"
我可以在此处获取所有其他字段,例如城市,但无法获取 select 字段。我似乎只能像这样 status = $("select")
从他的 class 那里得到它,但将来我会在这个页面中有多个 select 或我需要访问这个特定的.
我不明白是什么让这个 selector 字段与 text_fields 不同,为什么我不能简单地给他一个 ID 或名称并访问它。
确保生成的结果 html 元素具有您期望的 ID。看起来您正在将 id 'status_select' 添加到每个 select 选项而不是 select 元素本身。尝试:
<%= f.select :status, options_for_select(%w(Visitor Member), selected: user.status), {}, {id: 'status_select'} %>
我是 CoffeeScript 的新手,遇到了一些愚蠢的任务。我无法从他的 ID 或自定义 class 或名称中获取 selector 字段。
users/_form.html.erb:
<%= form_for user do |f| %>
<% if user.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(user.errors.count, 'erro') %> prohibited this user from being saved:</h2>
<ul>
<% user.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<p>Pseudo:</p>
<%= f.label :name %>
<%= f.text_field :name, id:'name_field' %>
<%= f.label :status %>
<%= f.select :status, options_for_select(%w(Visitor Member), id: 'status_select', selected: user.status) %>
<p>Account:</p>
<%= f.fields_for :account, @account do |account| %>
<%= account.label :city %>
<%= account.text_field :city, id: 'city_field' %>
<%= account.label :email %>
<%= account.text_field :email, id: 'email_field' %>
<% end %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
app/assets/javascripts/users.咖啡
jQuery(document).on 'turbolinks:load', ->
status = $("#status_select")
city = $("#city_field")
city.on "change", ->
alert "city field changed!"
status.on "change", ->
alert "status field changed!"
我可以在此处获取所有其他字段,例如城市,但无法获取 select 字段。我似乎只能像这样 status = $("select")
从他的 class 那里得到它,但将来我会在这个页面中有多个 select 或我需要访问这个特定的.
我不明白是什么让这个 selector 字段与 text_fields 不同,为什么我不能简单地给他一个 ID 或名称并访问它。
确保生成的结果 html 元素具有您期望的 ID。看起来您正在将 id 'status_select' 添加到每个 select 选项而不是 select 元素本身。尝试:
<%= f.select :status, options_for_select(%w(Visitor Member), selected: user.status), {}, {id: 'status_select'} %>