我有一个投票表格,您可以在其中添加另一个答案,然后当您这样做时,只会出现投票按钮......
编辑2 !!!
在我的观看/ index.html.erb中,我有:
<table>
<% @questions.each do |question| %>
<% for answer in question.answers %>
<td>Other:</td>
<td>
<%= form_tag('/vote/new_answer', :method => "post") do %>
<%= hidden_field_tag('answer[question_id]', question.id) %>
<%= hidden_field_tag('answer[user_id]', current_user.id) %>
<div class="other_answer">
<%= text_field_tag('answer[content]') %>
</div>
</td>
<td>
<div class="other_answer_button", hidden='true'>
<%= submit_tag('Vote') %>
</div>
<% end %>
<% end %>
在我的application.js文件中,我有:
$(function() {
$(".other_answer input").change(function() {
if ($.trim($(this).val()) == "") {
$(".other_answer_button").hide();
}
else {
$(".other_answer_button").show();
}
});
});
仍然是相同的:
现在它有效......但如果我在其中一个文本字段中放入一些文本,则会出现所有投票按钮。它只应该在特定答案上显示一个投票按钮。
我是否应该以某种方式为每个文本输入字段添加增量ID以及投票按钮?
任何? 问候, 泰斯
答案 0 :(得分:1)
实际上还有很少的其他东西需要在你的js代码中进行修改:
$(function() {
$(".other_answer input").change(function() {
if ($.trim($(this).val()) == "") {
$("input", $(this).parents("td").next()).hide();
}
else {
$("input", $(this).parents("td").next()).hide();
}
});
});
解决方案非常依赖于标记,并且选择器可能无法正常工作,因为我没有经过测试,所以尽量不要尝试使用它,如果不是的话。