Javascript ROR:动态选择框、jQuery不工作或代码错误
我正在尝试实现一个动态选择菜单,用户在其中选择一个科目,然后该科目的学生列表将出现在随后的下拉列表中。很明显我做错了什么。我怀疑jQuery在我的应用程序中可能不起作用。我使用的是Rails 4.2 视图:Javascript ROR:动态选择框、jQuery不工作或代码错误,javascript,jquery,html,ruby-on-rails,Javascript,Jquery,Html,Ruby On Rails,我正在尝试实现一个动态选择菜单,用户在其中选择一个科目,然后该科目的学生列表将出现在随后的下拉列表中。很明显我做错了什么。我怀疑jQuery在我的应用程序中可能不起作用。我使用的是Rails 4.2 视图: <div class="field"> <%= f.label :classmodule %><br> <%= f.collection_select :subject_type, Classmodule.order(:subject), :
<div class="field">
<%= f.label :classmodule %><br>
<%= f.collection_select :subject_type, Classmodule.order(:subject), :id, :subject, include_blank: true %>
</div>
<div class="field">
<%= f.label :studentname %><br>
<%= f.grouped_collection_select :studentname, Classmodule.order(:subject), :students, :subject, :id, :s_alias, include_blank: true %>
</div>
我不确定我需要提供多少信息。模式
create_table "classmodules", force: :cascade do |t|
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "subject"
t.integer "classmodule_id"
end
create_table "students", force: :cascade do |t|
t.string "email"
t.string "student_id"
t.string "student_forename"
t.string "student_surname"
t.string "s_alias"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "classmodule_id"
end
Application.js:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap
//= require list
//= require list.fuzzysearch
//= require_tree .
Application.html.erb
<head>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= stylesheet_link_tag 'application', 'http://fonts.googleapis.com/css?family=raleway:400, 700' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<link href="styles/ihover.css" rel="stylesheet">
<%= javascript_include_tag 'jquery' %>
<%= csrf_meta_tags %>
</head>
create_表“classmodules”,force::cascade do | t|
t、 datetime“created_at”,null:false
t、 datetime“更新时间”,null:false
t、 字符串“主题”
t、 整数“classmodule\u id”
结束
创建表格“学生”,强制::级联do | t|
t、 字符串“email”
t、 字符串“学生id”
t、 字符串“学生名”
t、 字符串“学生姓氏”
t、 字符串“s_别名”
t、 datetime“created_at”,null:false
t、 datetime“更新时间”,null:false
t、 整数“classmodule\u id”
结束
Application.js:
//=需要jquery
//=需要jquery\u ujs
//=需要涡轮链路
//=需要引导
//=需要列表
//=require list.fuzzysearch
//=需要一棵树。
Application.html.erb
正确%>
正确%>
页面显示良好,但从第一个下拉列表中选择时没有发生任何变化
如果有人发现我在jQuery或其他地方做错了什么,请给予我任何建议!我担心jQuery可能因为某些原因无法工作。谢谢 忘了我问过了,我只是让它工作了。使用id是最好的方法:D一切都一样,但用id代替。我觉得自己太傻了。你的Rails代码不知道你的jQuery代码。这是我的怀疑,但我也可能把它编错了。有什么我可以尝试让jQuery工作的吗?应用程序中一定有干扰。注意:是的,弹出窗口的第一部分不起作用。所以我猜这意味着jQuery在我的网站上不起作用。
jQuery ->
students = $('#note_studentname').html()
$('#note_subect_type').change ->
classmodule = $('#note_subject_type :selected').text()
options = $(students).filter("optgroup[label='#{classmodule}']").html()
if options
$('#note_studentname').html(options)
else
$('#note_studentname').empty()
create_table "classmodules", force: :cascade do |t|
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "subject"
t.integer "classmodule_id"
end
create_table "students", force: :cascade do |t|
t.string "email"
t.string "student_id"
t.string "student_forename"
t.string "student_surname"
t.string "s_alias"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "classmodule_id"
end
Application.js:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap
//= require list
//= require list.fuzzysearch
//= require_tree .
Application.html.erb
<head>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= stylesheet_link_tag 'application', 'http://fonts.googleapis.com/css?family=raleway:400, 700' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<link href="styles/ihover.css" rel="stylesheet">
<%= javascript_include_tag 'jquery' %>
<%= csrf_meta_tags %>
</head>