javascript - AJAX atwho 监听所有 textarea id

标签 javascript jquery ruby-on-rails ajax coffeescript

我觉得这太容易了,我应该踢自己一脚。我有这个 CoffeeScript :

class @Invitation

@add_atwho = ->
$('#invitation_username_1543').atwho
  at: '@'
  displayTpl:"<li class='mention-item' data-value='(${image},${name})'><img src=${image}>@${name}</li>",
  callbacks: remoteFilter: (query, callback) ->
    if (query.length < 1)
      return false
    else
      $.getJSON '/mentionsy', { q: query }, (data) ->
        callback data

jQuery ->
  Invitation.add_atwho()

我不想只听#invitation_username_1543,我想用我页面上的任何 ID 号替换 1543。我也有这个部分模态渲染。 Coffeescript 正在监听的行是 textarea id = "invitation_username_+#{x.id}"的行。它非常适合传入 1543 id 的模态,但除此之外别无其他!

<div class="modal fade" id="invite-<%= x.id %>" tabindex="-1" role="dialog" aria-labelledby="pirateinviteLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="inviteLabel">Invite a Friend!</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        Text Text Text<br /><br />

        <%= form_for @invitations, :url => invitations_path, :method => 'create', remote: true do |b| %>

        <div class="form-group"><center>
          <b><%= b.label :username, 'Invite a friend by username:' %></b></center>
           <%= b.text_area :username, id: "invitation_username_#{+ x.id}", rows: 1, role: "textarea", class: 'form-control', required: true, placeholder: "@user1 @user2" %>
          <%= b.hidden_field :event_id, :value => x.id %>
        </div>
        <div class="text-center">
        <%= b.submit 'Send an Invite!', class: 'btn btn-primary btn-sm align-self-center' %>
      <% end %></div>

      </div>
    </div>
  </div>
</div>

最佳答案

您可以使用以选择器 [attr^=value] 开头的属性选择 attr 的元素属性以 ^= 开头属性 value

$("textarea[id^=invitation_username_]")

document.querySelectorAll("textarea[id^=invitation_username_]")

关于javascript - AJAX atwho 监听所有 textarea id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47124074/

相关文章:

javascript - 如何在 react 中处理容器元素中的加载/旋转

javascript/jQuery : validating numbers when using . 每个

javascript - 如何在 JavaScript 矩阵运算中实现最近邻插值?

javascript - jQuery 不接受编程 element.onchange() 调用

ruby-on-rails - Rails 辅助模块中的实例变量存储在哪里?

javascript - 从 JavaScript 向 MariaDB 发送数据时保持毫秒精度

javascript - 如何在不使用 javascript 中的 activex 的情况下从客户端获取文件大小?

javascript - 更新 jquery 关联数组值

javascript - jquery 使用嵌套数组获取 json

ruby-on-rails - rails迁移中的唯一外键