Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ROR:动态选择框、jQuery不工作或代码错误_Javascript_Jquery_Html_Ruby On Rails - Fatal编程技术网

Javascript ROR:动态选择框、jQuery不工作或代码错误

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), :

我正在尝试实现一个动态选择菜单,用户在其中选择一个科目,然后该科目的学生列表将出现在随后的下拉列表中。很明显我做错了什么。我怀疑jQuery在我的应用程序中可能不起作用。我使用的是Rails 4.2

视图:

<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>