私はjQueryを使い始めていますが、クリック時にスペイン語アクセント記号をsimple_formテキストフィールドに追加するためのブートストラップボタンを追加しようとしています。私はthis質問への答えの後にコードをモデル化していますが、現在ボタンをクリックしても何も起こっていません - 私は何か間違っていますか?ビューでボタンにテキストを追加するjqueryでシンプルなフォームにする
、私は簡単なフォームを使用して、テキストフィールドにラッパーIDを追加している:私はapplication.jsで
<%= simple_form_for @word, url: lesson_image_spelling_path(current_lesson, @word.word), method: :patch do |f| %>
<%= f.input :spelling_attempt, wrapper_html: { id: 'txt' }, label: "Spell the word:" %>
<br>
<button type="button" class="btn btn-secondary btn-sm" id="a-accent">á</button>
<%= f.button :submit, "Submit", class: 'btn btn-primary' %>
<% end %>
:
jQuery("#a-accent").on('click', function() {
var $txt = jQuery("#txt");
var caretPos = $txt[0].selectionStart;
var textAreaTxt = $txt.val();
var txtToAdd = "test";
$txt.val(textAreaTxt.substring(0, caretPos) + txtToAdd + textAreaTxt.substring(caretPos));
});
jqueryを 'document.ready(function(){...})'にラップするか、clickイベントハンドラをグローバル '$(document).on( 'click'、 '#a-accent' 、function(){..}) ' – Rik