我在表单中列出了 5 个问题文本字段,供用户输入问题。我希望用户能够通过单击“+”按钮添加问题。
我该怎么做?
我有这个作为示例:
<%= simple_form_for(@quiz, html: {class: 'form-vertical' }) do |f| %>
<%= render 'shared/error_messages_question' %>
<%= f.input_field :content, :rows => 3, :style => "width:80%", :placeholder => "enter your question." %>
<% end %>
最佳答案
使用 javascript/coffeescript
设置非常简单,
既然是 Rails 让我们使用 coffeescript
,
您的 app/assets/javascripts
文件夹下应该有一个名为 quizzes.js.coffee
的 coffeescript 文件,如果没有,您可以创建它。
(还要确保在您的 app/assets/javascripts/application.js
中您需要该文件或者您有 require_tree 。
现在在文件中你可以有这样的东西:
$ ->
template = "<textarea name='quiz[content][INDEX]'></textarea>"
index = $('textarea').length
$('#js-add-question-row').click ->
compiled_textarea = $(template.replace("INDEX", index))
$('#someform').append(compiled_textarea)
index = index + 1
你的 html 应该是这样的:
<button id="js-add-question-row">+</button>
<form action="" method="" id="someform">
<textarea name="quiz[content][0]"></textarea>
</form>
我添加了一个 javascript jsfiddle,向您展示它是如何工作的 http://jsfiddle.net/vjZ3g/
关于javascript - 通过单击按钮栏添加文本区域 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21111122/