2012-02-07 2 views
1

Я использую радиокнопки с некоторым загруженным содержанием Ajax. В основном благодаря другим функциям сети, радиокнопки полностью основаны на jQuery. Поэтому всякий раз, когда я нажимаю на них, вызывается определенное действие. Во всяком случае - я не могу придумать решение с 1 проблемой. Я хочу, чтобы переключатели были отключены всякий раз, когда содержимое ajax не загружается. Я добавил флаг перед/после обратного вызова содержимого ajax, поэтому теперь действие click(), которое я определил на переключателях, не работает при загрузке содержимого ajax.jQuery - заменить стандартное нажатие кнопки переключателя()

Усиленные стандартные действия переключателей по-прежнему работают (используя «return false;»). По стандартным значениям i - радиокнопка проверяется после нажатия - в то время как ничего не должно произойти. Любые идеи, как отключить его? Ниже часть кода:

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

ответ

3

В начале вашего АЯКС вызова отключить переключатель:

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

По завершении, включите его снова:

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

Просто как это ... :) Tyvm. –

+0

$ ('# radiobutton1'). Attr ('disabled', '') не работал для меня, поэтому заменил его на .removeAttr ('disabled'), и это нормально –

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',''); 
} 
    }); 
+0

Спасибо - очевидно, оба ответа велики –

+0

Вы можете проголосовать если вы сочтете это полезным. – Jpepper

+1

Хотелось бы, но нужно больше репутации - сделаю это, как только я получу некоторые;) –

Смежные вопросы