<script language="javascript" type="text/javascript">
$('#leftDiv').ready(function(){
$("form").submit(function () {
//data structure
var radios = [];
//for printing purposes
var arrayValues = $("#arrayVal");
//Getting the values
$("form :radio:checked").each(function() {
radios = $(this).attr('value');
});
//Printing the values
$.each(radios, function( index, value ){
arrayValues.append(
$(value)
);
});
})
});
</script>
HTML“CODE”
<html>
<body>
<div id="leftDiv" class="container">
<form action="" method="get">
<fieldset>
<p>Something 0</p>
<lable>Yes</label>
<input type="radio" name="Group0" value="1" >
<lable>No</label>
<input type="radio" name="Group0" value="0" >
</fieldset>
<fieldset>
<p>Something 1</p>
<lable>Yes</label>
<input type="radio" name="Group1" value="1" >
<lable>No</label>
<input type="radio" name="Group1" value="0" >
</fieldset>
<fieldset>
<p>Something 2</p>
<lable>Yes</label>
<input type="radio" name="Group2" value="1" >
<lable>No</label>
<input type="radio" name="Group2" value="0" >
</fieldset>
<fieldset>
<input type="submit" name="update" class="button" value="Submit">
</fieldset>
</form>
</div>
</body>
</html>
不知道为什么但只能从广播组中获取最后一个值。 我做错了什么?
答案 0 :(得分:3)
而不是
radios = $(this).attr('value');
试
radios.push($(this).attr('value'));
答案 1 :(得分:3)
$("form :radio:checked").each(function(i) {
radios[i] = $(this).val();
});
获取值而不是属性。
答案 2 :(得分:1)
我认为这应该是:
//Getting the values
$("form :radio:checked").each(function() {
radios.push($(this).attr('value'));
});
答案 3 :(得分:0)
当你获得这些值时,你就有了这一行JS:
radios = $(this).attr('value');
肯定你的意思是radios[radios.length]
?这有帮助吗?
答案 4 :(得分:0)
$("form :radio:checked").each(function() {
radios = $(this).attr('value');
});
每次迭代都会覆盖无线电中的值。这就是为什么一旦循环存在,你只有最后一次迭代的值。
答案 5 :(得分:0)
我想每次你在$(“form:radio:checked”)。每个()函数中你都会覆盖无线电的价值而不是添加它。
你有这个:
// Getting the values
$("form :radio:checked").each(function() {
radios = $(this).attr('value');
});
......而不是:
// Getting the values
$("form :radio:checked").each(function(i, e) {
radios[i] = $(e).attr('value');
});
...所以当循环结束时,你只剩下最终值。