【发布时间】:2014-05-07 07:14:17
【问题描述】:
我有一个由 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>';
我想更改输入类型 hidden 的值,该类型的类为 your,位于 div .choices 旁边。我使用了下面的 jQuery。
$('input[type=radio]').on('click', function(){
// alert(this.value);
$(".choices ~ .answer").val(this.value);
});
但它不起作用。有什么建议吗?
编辑:
HTML
【问题讨论】:
-
我不知道您使用的“旁边”的什么定义会将
.your元素放在.choices元素旁边。他们根本不是互相发短信的。.your是.choices的一个孩子,在这种情况下是最后一个孩子。然而,.your是被点击元素的 *sibling*`,所以$(this).nextAll(".your")或$(this).nextUntil(".your").next()。 -
试试
$(this).next().val(this.value); -
是的..它会工作,但如果你有 5 组 HTML 代码怎么样。
-
为什么会有问题?
-
你为什么要使用
.answer来访问类your的元素?
标签: javascript php jquery