ユーザー登録画面で、該当のタグを選択した時に色が変わるように、
'active'クラスの付け替えをしようとしています。
(イメージ↓ ハッシュタグの部分をクリックすると背景が赤、文字を白に変えたい)
やったこと
new.html.erbの"tag-item"クラスに、"active"クラスを付与するよう、
jqueryに記述しましたがうまくいきません。
new.html.erb
ruby
1<% provide(:title, 'エージェント登録') %> 2 3<div class="form"> 4 <div class="form-headline"> 5 <h1 class="title">エージェント 無料会員登録</h1> 6 <p class="description">以下の項目を入力して、Kotosearchに登録してください</p> 7 </div> 8 <div class="form-container"> 9 <%= form_with model: @agent do |f| %> 10 11 ~抜粋~ 12 13 <%= f.label :scale, "会社規模", class: "form-label" %> 14 <%= f.text_field :scale, placeholder: "例) 大", class: "form-block" %> 15 16 <div class="form-label-ttl"> 17 <%= f.label :target_category, "ターゲット国", class: "form-label" %> 18 </div> 19 <label class="tag-item"> # クリック時にactiveクラスを挿入 20 <%= f.radio_button :target_category, 1 %><span>#</span>アメリカ 21 </label> 22 <label class="tag-item"> # クリック時にactiveクラスを挿入 23 <%= f.radio_button :target_category, 2 %><span>#</span>中国 24 </label> 25 <label class="tag-item"> # クリック時にactiveクラスを挿入 26 <%= f.radio_button :target_category, 3 %><span>#</span>台湾 27 </label> 28 29 <%= f.label :target_audience, "ターゲット層", class: "form-label target_audience" %> 30 <%= f.text_field :target_audience, placeholder: "例) 富裕層", class: "form-block" %> 31 32 ~抜粋~
agent_new.js
jquery
1$(function() { 2 $('.tag-item').on('click', function() { 3 $(this).toggleClass('active'); 4 }); 5}); 6
application.js
require("@rails/ujs").start() require("turbolinks").start() require("@rails/activestorage").start() require("channels") require('jquery') import "../src/application.scss" import "../src/agent_new.js"
environment.js
const { environment } = require('@rails/webpacker') const webpack = require('webpack') environment.plugins.prepend('Provide', new webpack.ProvidePlugin({ $: 'jquery/src/jquery', jQuery: 'jquery/src/jquery' }) ) module.exports = environment
headタグ
<head> <title><%= yield(:title) %></title> <%= csrf_meta_tags %> <%= csp_meta_tag %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %> </head>
rails6で、webpackerを使ってjqueryを読み込ませることはできていると思うのですが、
該当のagent_new.jsに記述してもうんともすんとも言いません。
(デベロッパーツールで見ると、クリックすると一応”tag-item”クラスが一瞬光るので反応?しています)
かれこれ6時間ほど立ち往生している状態ですので、皆様のお力をお借りできますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/06 02:20
2019/12/06 02:24
2019/12/06 03:12
2019/12/06 04:42
2019/12/06 04:58
2019/12/06 04:58