根据单选按钮选择设置隐藏的输入值
我有一个清单表单,它根据正在工作的单选按钮选择来计分。当我发布表单时,我想根据单选按钮的选择从隐藏输入中获取“是”或“否”的值。根据单选按钮选择设置隐藏的输入值
由于“值”字段被一个整数用于评分,我想将一个值传递给具有相同类名的隐藏表单输入。如果所选单选按钮的值为0,则隐藏输入的值将为“否”,否则将为“是”。
我想能够通过所有无线电输入组(有很多)来迭代它。这就是我想用jQuery写英文的成绩:
对于每个无线电输入组,如果所选单选按钮的值为0,那么具有相同类别的隐藏输入的值为“否”,否则它是“是”。
我有问题的JavaScript,并希望得到一些帮助。
HTML
<!--Radio button example -->
<li>
<label>Does 1 + 1 equal 10 ?</label>
<input type="radio" class="radio1" name="question" value="1">Yes</input>
<input type="radio" class="radio1" name="question" value="0">No</input>
<input type="hidden" value="" id="answer" class="radio1"></input>
</li>
预先感谢您,请让我知道如果你需要更多的信息。
附加一个jQuery事件RADIOBUTTON变化
$(document).ready(function() {
$('input.radio1[type=radio]').change(function() { //change event by class
if (this.value == '0') {
$(this.ClassName[type=hidden]).val("No");
}
else if (this.value == '1') {
$(this.ClassName[type=hidden]).val("Yes");
}
});
});
该代码可能包含语法错误,认为这是一个伪代码,并自己动手
这看起来像我试图实现的。唯一的事情是它只适用于radio1。它可以遍历所有的无线电组(即无线电1,无线电2等)吗? – JPB
如果没有其他单选按钮组,则可以使用$('input [type =“radio”]')作为上面代码的第2行中的选择器。 –
- 给出的答案,如果唯一ID您需要使用它们
- 如果您将[]添加到问题的名称PHP将它们视为数组,您可以使用三元来设置值$ answer = $问题= = “1” “YES” “NO”?
- 如果您仍然需要使用一个隐藏字段,这里是代码,不看ID,但在每个L1
$(function() {
//$("#questionnaire").on("submit", // better but not allowed in the SO snippet
$("#send").on("click",
function(e) {
e.preventDefault(); // remove when tested
$("#questionnaire ul li").each(function() {
var $checkedRad = $(this).find('input[name^=question]:checked');
var $answerField = $(this).find("input[name^=answer]");
$answerField.val($checkedRad.val()=="0"?"NO":"YES");
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<form id="questionnaire">
<ul id="questions">
<li>
<label>Does 1 + 1 equal 10 ?</label>
<input type="radio" class="radio" name="question1" value="1">Yes</input>
<input type="radio" class="radio" name="question1" value="0">No</input>
<input type="hidden" value="" name="answer1" class="radio"></input>
</li>
<li>
<label>Does 1 + 1 equal 20 ?</label>
<input type="radio" class="radio" name="question2" value="1">Yes</input>
<input type="radio" class="radio" name="question2" value="0">No</input>
<input type="hidden" value="" name="answer2" class="radio"></input>
</li>
</ul>
<button id="send" type="button">Click</button>
</form>
隐藏的名称和字段的类型输入似乎有点多余。为什么不根据收音机提供的值在服务器上设置布尔值? –
'$ answer = $ _GET [“question”] ==“1”?“YES”:“NO”;'或'$ answer = $ _GET [“question”] ==“0”?“NO”:“ YES“;' - 如果PHP用[]给出问题的名称,它将是一个数组 – mplungjan
事实上,我看到JavaScript非常具有挑战性......它不会被公布。 – zer00ne