jQuery - 替换标准单选按钮click()动作

时间:2012-02-07 14:58:01

标签: jquery forms button radio

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

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

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

2 个答案:

答案 0 :(得分:3)

在ajax通话开始时,禁用单选按钮:

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

完成后,再次将其重新打开:

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

答案 1 :(得分:2)

我相信您希望在提交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','');
 }
    });