【问题标题】:Populate Text Area using ajax with array items separated by comma使用 ajax 填充文本区域,数组项用逗号分隔
【发布时间】:2015-09-06 15:46:45
【问题描述】:

在我的 rails 应用程序中,页面有一个文本区域,该区域应该从实例变量中填充(具有 contact_no 列)。文本区域应填充所有联系人号码。被逗号隔开。我正在使用 ajax 并使用 .js.erb 文件更新 div 内容。现在我想从实例变量中填充文本区域的内容。如何做到这一点?

文本区域

<div id="result_div">
      <%= f.text_field :sent_to %>
</div>

.js.erb 文件内容

$("#result_div").html('Hello');

此代码只是在目标 div 中显示“Hello”。但我想用实例变量@contact 中的联系电话填充文本区域。 注意:@contact 是模型的实例变量,而不是 contact_no 数组

【问题讨论】:

  • 你有什么代码可以分享(当然是不分类的)?
  • @suslov 用代码编辑了问题

标签: jquery html ruby-on-rails ruby ajax


【解决方案1】:

你可以试试这样的:

$("#result_div textarea").val("<%= @contact.map(&:parents_contact_no).join(', ') %>");

【讨论】:

  • 我试过了,但是文本区域没有改变。仅空白并给出控制台错误(parents_contact_no 是列名)#<:activerecord_relation:0x00000005308d88> 的未定义方法`parents_contact_no':
  • @AjeetKhan:你能用@contact.inspect的输出更新你的答案吗?
  • #<:relation id: parents_contact_no: additional_contact_no: parents_email: student_contact_no: alumni: true created_at: updated_at : organization_id: class_name:>]>
  • @contact 是模型的实例变量
  • 我也试过了,但是文本区域的内容还是空白
【解决方案2】:

在您的.js.erb 文件中,您仍然可以访问您的实例变量。所以你也许可以做这样的事情:

$("#result_div").html("#{@instance.contact_no.join(',')}");

【讨论】:

    【解决方案3】:

    这是一个 erb 文件,因此您可以包含 Ruby 代码...

    $("#result_div").html('<%= @contact %>');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      相关资源
      最近更新 更多