使用jquery在按钮上单击添加文本到简单表单

时间:2016-09-18 14:37:36

标签: javascript jquery ruby-on-rails twitter-bootstrap simple-form

我开始使用jQuery,并且我尝试添加自举按钮,在点击时将simple -form文本字段添加西班牙语重音元音。我在回答this问题之后对代码进行了建模,但是点击按钮后当前没有发生任何事情 - 我做错了吗?

在视图中,我使用简单表单并在文本字段中添加包装ID:

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

在application.js中我有:

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) );
});

1 个答案:

答案 0 :(得分:1)

也许使用input_html而不是wrapper_html。 将console.log(&#39; btn点击&#39;)放入您的点击事件中,如果此事件有效,请查看浏览器控制台。