Я предполагаю, что у вас есть обработчик событий, связанный с div
, который вызывает click
или добавляет атрибут checked
. Почему бы не вызвать функцию change()
вручную после изменения состояния переключателя?
$("#check-me").bind("click", function() {
$("#radio-btn1").click().change();
// change radio button state, then trigger 'change' event.
});
Обновление: С указанным кодом вы бы сделали что-то вроде этого ( обновлено снова из-за комментария от OP):
$('#payment_method_cards, #payment_method_ibank_swe, #payment_method_bp').click(function(){
var $radio = $(this).children('input[name="payment_method"]');
if (!$radio.is(":checked")) {
$radio.attr('checked','checked').change();
}
});
Вы должны определить обработчик change
вне обработчика click
:
$('input[name="payment_method"]').change(function(){
if($(this).val() == 'bp'){
alert("Thats the one");
}
}