我有一个由php生成的动态表单。
print '<div class="choices">';
print '<input type="radio" class="answer' . $q . '" id="answer'. $q . '" name="answer'. $q . '"value="1"/>' . $row['answer1'] .'<br/>';
print '<input type="hidden" class="answer' . $q . '" id="answer'. $q . '" name="answer'. $q . '"value="1"/>';
print '<input type="radio" class="answer' . $q . '" id="answer'. $q . '" name="answer'. $q . '"value="2"/>' . $row['answer2'] .'<br/>';
print '<input type="hidden" class="answer' . $q . '" id="answer'. $q . '" name="answer'. $q . '"value="1"/>';
print '<input type="radio" class="answer' . $q . '" id="answer'. $q . '" name="answer'. $q . '"value="3"/>' . $row['answer3'] .'<br/>';
print '<input type="hidden" class="answer' . $q . '" id="answer'. $q . '" name="answer'. $q . '"value="1"/>';
print '<input type="radio" class="answer' . $q . '" id="answer'. $q . '" name="answer'. $q . '"value="4"/>' . $row['answer4'] .'<br/>';
print '<input type="hidden" class="answer' . $q . '" id="answer'. $q . '" name="answer'. $q . '"value="1"/>';
print '<input type="hidden" class="your" id="answer" name="correctanswer'. $q . '" value="0"/>';
print '</div>';
我想更改隐藏的输入类型的值,该值具有div your
旁边的.choices
类。我使用下面的jQuery。
$('input[type=radio]').on('click', function(){
// alert(this.value);
$(".choices ~ .answer").val(this.value);
});
但它不起作用。有什么建议吗?
编辑:
HTML
答案 0 :(得分:1)
首先,您在多个元素上拥有相同的ID。 ID应该是唯一的。我不清楚input.your的位置,你的描述说它是div.choices的兄弟,但代码表明它是div.choices的孩子......
如果input.your是div.choices的兄弟:
$('input[type=radio]').on('click', function(){
$(this).parent().siblings('.your').val($(this).val());
});
如果input.your是div.choices的孩子:
$('input[type=radio]').on('click', function(){
$(this).siblings('.your').val($(this).val());
});
编辑:误解了问题