JS和空白的问题-RubyonRails和JS



我遇到了一个巨大的问题,不知道如何处理

<div class="input-control row">
<% ["Oneword", "With whitespace"].each_with_index do |answer, index| %>
<%= label_tag "q7_#{index}", answer, class: "btn btn-reply question7", data: { "scroll-nav": "8", "question": "question_7", "answer": answer } do %>
<%= radio_button_tag :question_7, answer, false, id: "q7_#{index}", class: "toggle" %>
<%= answer %>
<% end %>
<% end %>
</div>

所以,这是一个Rails项目,当它被点击时,我必须得到答案,为此我在这里编写了一些JS(表单单选不正确,因为Scrollit有e.preventDefault();我有几个问题(

$('body').on('click','[data-scroll-nav]', function(e){
var question = $(e.target).attr('data-question');
var answer = $(e.target).attr('data-answer');
if(question && answer) {
console.log($('input:radio[name=' + question + ']').filter('[value=' + answer + ']').prop('checked', true));
}
e.preventDefault();
doScroll(e);
});

对于0索引字,它是有效的,但对于1索引,它不起作用,我认为调试它是因为空白。我该怎么处理?

我可能错了,但我认为您需要用引号将questionanswer包装成选择器:

$('input:radio[name="' + question + '"]').filter('[value="' + answer + '"]')

请注意,在可变部分周围添加了"

最新更新