选择单选按钮后运行功能

时间:2012-05-21 15:57:23

标签: jquery radio-button

我还没有找到一个帖子,它实际上询问了选择一个单选按钮的时刻..我没有检查价值,只是当/有人选择任何按钮时。

这就是我所拥有的:

function turnSubmitBlue() {
$('.formSubmit').css('backgroundColor','#08aae4');
}

$('input:checkbox').each.change(function(){
if ($(this).attr('checked')) {
checkForThreeRadioBtns()
 };
});

function checkForThreeRadioBtns() {
        if (($('input[name=group1]:checked')) && ($('input[name=group2]:checked')) && ($('input[name=group3]:checked'))) {
            turnSubmitBlue();
            }
}

我的思维过程是,在页面加载时,没有选择任何内容,我必须等到每个组中的一个被选中,然后通过提交按钮上的颜色更改来指示提交。 (如果他们在从每个组中选择一个无线电之前点击提交,我确实会运行验证。)

选择了三个按钮后,运行该功能以更改提交蓝色,显示其他内容(已经正常工作)。一旦他们点击提交,提交按钮将变为灰色并显示结果。

此时,总会有三个选中,所以我只需要在发生更改时运行一个功能(通过单击另一个单选按钮)来更改提交按钮。

我的函数checkForThreeRadioBtns()应该确保在所有三个组中选择每个无线电中的一个,如果是,则触发该函数以运行turnSubmitBlue()。

我一直试图让jquery检查单选按钮被更改但是到目前为止没有运气。

2 个答案:

答案 0 :(得分:2)

尝试如下,

$('input:checkbox').change(function(){
   if (this.checked) {
     checkForThreeRadioBtns();
   };
});

还可以尝试更改if条件,如下所示

if ($('input[name=group1]:checked').length && 
        $('input[name=group2]:checked').length && 
        $('input[name=group3]:checked').length)

完整代码:

function turnSubmitBlue() {
    $('.formSubmit').css('backgroundColor','#08aae4');
}

$('input:checkbox').change(function(){
   if (this.checked) {
     checkForThreeRadioBtns();
   };
});

function checkForThreeRadioBtns() {
    if ($('input[name=group1]:checked').length && 
          $('input[name=group2]:checked').length && 
            $('input[name=group3]:checked').length) {
        turnSubmitBlue();
    }
}

答案 1 :(得分:0)

$('input[type=checkbox]').on('change', function(){
   if (this.checked) {
     checkForThreeRadioBtns()
   };
});


function checkForThreeRadioBtns() {
   if ($('input[name=group1]').is(':checked') && 
       $('input[name=group2]').is(':checked') && 
       $('input[name=group3]').is(':checked')) {
            turnSubmitBlue();
   }
}