Я начну с того, что просмотрел огромное количество других сообщений, пытаясь найти решение, однако мне не удалось заставить свой код работать.
То, что я пытаюсь сделать, это отправить переменную из выбора переключателя через AJAX в PHP. Я не хочу добавлять кнопку отправки, я хочу, чтобы код PHP обрабатывался после переключения переключателя.
Мой простой код выглядит следующим образом, аналогичный коду on.change, который я успешно использовал для раскрывающихся меню, но я изо всех сил пытаюсь получить ту же функциональность для переключателей.
Цените любую доступную помощь.
ПЕРЕКЛЮЧАТЕЛИ HTML
<form>
<div class = "label"><b>Include Points?</b></div>
<input type = "radio" name = "Pts" value = "On" /> On
<input type = "radio" name = "Pts" value = "Off" checked = "checked" /> Off
</form>
JQUERY AJAX
jQuery(document).ready( function($) {
jQuery('#Pts').on( 'click', function () {
Pts = $('input:radio[name=Pts]:checked').val();
jQuery.ajax({
type: "POST",
url: "/wp-admin/admin-ajax.php",
data: {
action: 'call_radio_practice',
Pts: Pts,
},
success:function(output){
jQuery('#practice').html( output );
}
});
}).click();
});
PHP
$Pts = $_POST['Pts'];
print_r($Pts);






У вас нет этого селектора jQuery('#Pts') (id Pts).
Изменить, чтобы прослушать событие change на input:radio[name=Pts]
jQuery(document).ready( function($) {
jQuery('input:radio[name=Pts]').on('change', function () {
Pts = $('input:radio[name=Pts]:checked').val();
jQuery.ajax({
type: "POST",
url: "/wp-admin/admin-ajax.php",
data: {
action: 'call_radio_practice',
Pts: Pts,
},
success:function(output){
jQuery('#practice').html( output );
}
});
});
});
Вы проверили, что возвращает селектор
input:radio[name=Pts]:checked? Подсказка: попробуйте изменить на$('input[name=Pts]').prop('checked')