点击将结果传递给每个q的隐藏字段?

时间:2014-09-03 21:43:02

标签: javascript jquery

执行以下操作:

$(".questionOne").click(function(){

    var answer=$(this).attr('href').split('=')[1]
    $('#questionOne').val( answer );

       return false;
});

如何为每个问题重复一次而不是输入30次?我有30个问题,对于将结果发送到隐藏字段的链接是yes或no,但是在我的生活中不能记住如何让它为每个单击的答案重复该功能。

2 个答案:

答案 0 :(得分:2)

将所有问题都提到课堂上,例如class="question"。然后你可以只写一次:

$(".question").click(function() {
    var href = $(this).attr('href').split('=');
    var question = href[0].substr(2); // skip over #?
    var answer = href[1];
    $("#"+question).val(answer);
    return false;
});

DEMO

答案 1 :(得分:1)

假设在其班级中没有任何其他元素包含“问题”一词,您可以使用属性选择器[class*="question"]来选择元素。然后只需获取单击元素的类,并根据id选择其他元素。

Updated Example - HTML未更改。

$('a[class*="question"]').on('click', function () {
    var answer = $(this).attr('href').split('=')[1];
    $('#' + $(this).prop('class')).val(answer);

    return false;
});

在这种情况下,data-*属性会比类更好。