У меня есть поле выбора в форме, которая получает типы плат из API ConnectWise и заполняется следующим образом:
<div class="form-group">
<label for="support_type">Support Type</label>
<select class="form-control" id="support_type" name="support-type" onchange="get_subs();">
<option value="0">--Select Support Type--</option>
<?php
foreach ( $board_types as $types ) { ?>
<option value="<?php echo $types['id'] ?>"><?php echo $types["name"] ?></option>
<?php
}
?>
</select>
</div>
Что мне нужно сделать, так это получить соответствующие 'подтипы для каждой доски, когда пользователь выбирает родительскую доску. Я знаю, что для этого нужно использовать ajax, но я не совсем уверен, с чего начать. В родительском окне выбора у меня запущена функция javascript для события onchange, которую я пытался сделать:
function get_subs() {
var sub_type_url = "getsubtype.php";
var support_type = jQuery('#support_type').val();
var dataString = "support_type="+support_type;
jQuery.ajax({
type: "POST",
url: sub_type_url,
data: dataString,
success: function(html)
{
jQuery("#get_sub_type").html(html);
},
error: function(html)
{
console.log(html);
}
});
}
Но это возвращает ошибку 500. В WP, как мне заставить вызов ajax работать с внешним файлом php? Я где-то видел, что мне нужно где-то поставить в очередь некоторые скрипты, но я не знаю, где это сделать, и при этом я не хочу, чтобы javascript находился в отдельном файле, поскольку мне нужно вызывать его для события onchange (). Может кто-нибудь помочь мне начать здесь?