2012-05-21 5 views
2

Я не нашел сообщение, которое действительно спрашивает о том, когда выбран переключатель. Я не проверяю значение, просто если/когда кто-то выбирает любую кнопку.Запуск функции после выбора радио кнопки

Вот что у меня есть:

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

Мой мыслительный процесс был, на странице загрузки, ничего выбрано, и мне придется ждать, пока один из каждой группы выбирается перед индикацией, путем изменения цвета на кнопку отправки , представить. (У меня есть проверка работоспособности, если они попали в submit, прежде чем выбирать одну радиостанцию ​​из каждой группы).

После того, как выбраны три кнопки, запустите функцию для изменения «Отправить синий», отобразите другой контент (уже работающий просто отлично). Как только они попадут в submit, кнопка отправки станет серым, и результаты отображаются.

На этом этапе всегда будет выбран три варианта, поэтому мне просто нужно запустить функцию в тот момент, когда происходит изменение (нажатием другой кнопки), чтобы изменить кнопку отправки.

Моя функция, checkForThreeRadioBtns() должна удостовериться, что во всех трех группах выбрано одно из каждого радиоприемника, и если да, активируйте функцию для запуска turnSubmitBlue().

Я пытался получить jquery, чтобы проверить момент изменения переключателя, но пока не повезло.

ответ

2

Попробуйте, как показано ниже,

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

Также попробуйте изменить ваше состояние, если, как показано ниже,

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(); 
    } 
} 
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(); 
    } 
} 
Смежные вопросы