gpt4 book ai didi

javascript - 如何使用 Ajax 使用第一个选择框值更新 jquery 中的第二个选择框?

转载 作者:行者123 更新时间:2023-11-28 08:04:03 24 4
gpt4 key购买 nike

首先,我使用的是 WordPress,目标是选择一个以 jquery 结构的下拉选择菜单项,以选择父类别。然后,此选择将​​使用父类别的子类别更新第二个选择菜单。

到目前为止,我有这个ajax:

<script>
$(function(){
$( "#categories" )
.selectmenu({
select: function getval() {
var parent = $("#categories").val();

$.ajax({
url: "ajax.php",
data: { parent : parent },
type: "POST",
success: success: function(response){
$(".sub_cat").html(response);
},
error: function() {
alert("Error, possible missing file.");
}
}); //End of ajax
alert(parent);
} //End of getval

}) //End selectMenu
.selectmenu( "menuWidget" )
.addClass( "overflow" );

$( "#sub_cats" )
.selectmenu()
.selectmenu( "menuWidget" )
.addClass( "overflow" );

var categories = $('#categories');
var subcats = $('#sub_cats');
});
</script>

这是将填充的 HTML:

<fieldset>
<div class=sub_cat>

</div>
</fieldset>

这是 ajax.php:

<?php
$parent = $_POST['parent'];
$subcats = get_categories("child_of=$parent");

$parent = "<label for="sub_cats">Select a Sub-category</label>
<select name="sub_cats" id="sub_cats">
<option selected="selected">Pick a Sub-Category</option>" .
foreach($subcats as $subcat) {
"<option value=" echo $subcat->name ">" . echo $subcat->name . "</option>"
} .
"</select>"
?>

菜单按其应有的方式出现,警报出现,并且在做出选择时始终将父类别发送到 ajax。但成功警报从未被触及,我不知道应该在 ajax.php 文件中放入什么。我的猜测是使用该文件来获取 php 中的子猫,然后以 json 格式发送它,但我不知道如何。

绝对感谢任何帮助,我已经为此苦苦挣扎了一段时间。

我已经尝试了下面的解决方案,但我从未从 ajax.php 中得到任何代码或值及其答案。这就是它停止的地方。我也不知道如何用新项目填充下一个选择框。假装我是一个 super 无知的程序员,对这些结构一无所知,并从这个 Angular 进行解释,希望这可能会有所帮助。

最佳答案

在 ajax.php 文件中...执行此操作...

$parent = $_POST['parent'];

// Query the subcategories using parent ..

// then loop and create select box ...

然后像下面这样改变ajax成功...并将数据填充到子类别div

success: function(response){
$(".subcat-div").html(response);
}

关于javascript - 如何使用 Ajax 使用第一个选择框值更新 jquery 中的第二个选择框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25001445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com