Javascript 如果未选中,请更改单选按钮的背景色
一旦用户在未选中所有单选按钮的情况下提交,未回答的按钮应以与选中按钮不同的背景色显示。我试图实现这一点的方式是:Javascript 如果未选中,请更改单选按钮的背景色,javascript,jquery,validation,radio-button,Javascript,Jquery,Validation,Radio Button,一旦用户在未选中所有单选按钮的情况下提交,未回答的按钮应以与选中按钮不同的背景色显示。我试图实现这一点的方式是: 创建一个空数组-“存储” 在每个单选按钮上循环,如果项目已被选中,则按数组“store”中的数字1(true),否则按0(false) 然后我想循环这个数组,并为那些在“store”中值为零的项添加一个类 $(文档).ready(函数(){ $('#form')。提交(函数(){ var isValid=true; var store=新数组(); $(“输入:收音机”)。每个(函数
$(文档).ready(函数(){
$('#form')。提交(函数(){
var isValid=true;
var store=新数组();
$(“输入:收音机”)。每个(函数(){
if($(this).prop('checked',true)){
store.push(1);}
否则{
存储推送(0);
isValid=false;}
})//每个
如果(!isValid){
对于(变量i=0;i
我想你可以简化一下:
这是一个有趣的测试,将类添加到元素中,看看单选按钮是否可以这样设计->一旦运行了测试,就可以看到不能像那样将背景色应用于单选输入,或者将每个单选输入包装在div中,或者为单选输入创建标签并对其应用类。错误#1就在你的掌握之中。表单具有wring ID
ID=“#form”
。应该是id=“form”
我完全忘了检查收音机是否有这种风格。谢谢你指出这一点,我明白了,它应该说prop('checked')
。
$(document).ready(function(){
$('#form').submit(function(){
var isValid = true;
var store = new Array();
$("input:radio").each(function() {
if($(this).prop('checked',true)){
store.push(1);}
else{
store.push(0);
isValid = false;}
}); //.each
if(!isValid){
for(var i=0;i < store.length;i++){
if(store[i]===0){
$('input[name=item' + i +']').addClass("not_answered");}
}//end of for-loop
return false;}
else{
return true;}
}); //submit
});//document ready
$('form').on('submit', function(e){
var radios = $(this).find('input:radio').removeClass('notChecked');
radios.filter(':not(:checked)').addClass('notChecked');
if(radios.hasClass('notChecked')) return false;
});