我有一组单选按钮,如下所示。
<input type="radio" name="multi[1]" value="value-1">
<input type="radio" name="multi[1]" value="value-2">
<input type="radio" name="multi[2]" value="value-3">
<input type="radio" name="multi[2]" value="value-4">
<input type="radio" name="multi[3]" value="value-5">
<input type="radio" name="multi[3]" value="value-6">
<input type="radio" name="multi[3]" value="value-7">
<input type="radio" name="multi[n]" value="value-n">
<input type="radio" name="multi[n]" value="value-n">
<input type="radio" name="multi[n]" value="value-n">
如果动态加载这些组,那么我们如何检查每个组中的选项是否被选中?
更新:
num_group = 2;
for(i = 1; i <= num_group; i++){
if(!$('input[name="multi['+i+']"]').is(':checked')){
alert('Please select elective subjects '+i+'!');
return false;
}
}
如何动态计算num_group?这里
答案 0 :(得分:1)
您必须检查document
是否为ready
,然后将change
事件绑定到文档。
这会考虑任何动态加载的元素(change
函数对这些元素仍有火焰。)
$(document).ready(function(){
$(document).on('change', 'input[type=radio]', function(){
console.log($(this).val())
});
});
答案 1 :(得分:1)
这实际上取决于您希望拥有的验证类型。
如果您尝试在某个特定时间验证单选按钮,例如,当用户按下提交按钮时,您可以非常简单地浏览所有无线电,例如:
var max_radios = 1; // keep this updated as radio buttons are added
$('#validate').click(function() {
for (i = 1; i <= max_radios; i++) {
console.log('Radio ' + i + ' is ' +
($('[name="multi[' + i + ']"]:checked').val() == undefined ? 'unchecked' : 'checked') + '<br />');
}
})
如果您希望在用户添加/单击单选按钮时进行验证,则会有点麻烦。在这种情况下,只要添加了一个新的单选按钮,就需要发出一条验证消息,指示用户应该进行选择,并且一旦选择了值,验证消息就会消失。如果这就是你想要的,请告诉我。