【问题标题】:Running a function after a radio button is selected选择单选按钮后运行函数
【发布时间】:2012-05-22 00:03:51
【问题描述】:

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

这是我所拥有的:

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 检查单选按钮更改的时间,但到目前为止还没有运气。

【问题讨论】:

    标签: jquery radio-button


    【解决方案1】:

    尝试如下,

    $('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();
        }
    }
    

    【讨论】:

      【解决方案2】:
      $('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();
         }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-05-03
        • 2023-03-29
        • 1970-01-01
        • 1970-01-01
        • 2019-07-25
        • 2012-05-11
        • 1970-01-01
        相关资源
        最近更新 更多