【问题标题】:jQuery - replace standard radio button click() actionjQuery - 替换标准单选按钮 click() 动作
【发布时间】:2012-02-29 00:16:19
【问题描述】:

我正在使用带有一些 Ajax 加载内容的单选按钮。基本上由于 web 的其他功能,单选按钮完全基于 jQuery。因此,每当我单击它们时,都会调用某些操作。无论如何 - 我无法解决 1 个问题。我希望在未加载 ajax 内容时禁用单选按钮。我在 ajax 内容回调之前/之后添加了标志,所以现在我在单选按钮上定义的 click() 操作在加载 ajax 内容时不起作用。

尽管标准的单选按钮操作似乎仍然有效(使用“return false;”)。按照标准,我的意思是-单击后正在检查单选按钮-而什么都不会发生。任何想法如何禁用它?以下是部分代码:

$('#radiobutton1').click(function() {
    if (!$('#rightImage').parent().children().is(':animated') && loadrelease==true) {
      actions to do here
    }
    return false;
  })

【问题讨论】:

    标签: jquery forms button radio


    【解决方案1】:

    我相信您希望在提交 ajax 调用时禁用所有单选按钮。您可以使用 ajax 事件来做到这一点。我建议为您想要在 ajax 调用期间禁用的所有单选按钮添加一个类。

       $.ajax({
             url: '../Controller/Action',
             data: { data: 'data'},
             dataType: 'json',
             type: 'post',
             beforeSend: function () {
                 //Disable your radio buttons here
                  $('.ajaxRadioButtons').attr('disabled','true');
               },
             success: function (data) {
    
             },
            error: function () {
    
            },
            complete: function () {
            //enable your radio buttons here
            $('.ajaxRadioButtons').attr('disabled','');
     }
        });
    

    【讨论】:

    • 谢谢 - 显然这两个答案都很棒
    • 很想但需要更多的声誉——我会尽快这样做;)
    • 我明白了。欢迎来到 StackOverFlow.com
    【解决方案2】:

    在您的 ajax 调用开始时,禁用单选按钮:

    $('#radiobutton1').attr('disabled','disabled')
    

    完成后,再次开启:

    $('#radiobutton1').attr('disabled','')
    

    【讨论】:

    • $('#radiobutton1').attr('disabled','') 对我不起作用,所以将其替换为 .removeAttr('disabled') 就可以了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    • 2020-05-20
    • 2011-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多