我看了一些答案,然后在谷歌上搜索了一下。。。但没能做到这一点。我没有Ajax方面的经验,而且我对PHP还是新手。
我需要的是根据第一个选项的值更改其他选项的选项。我需要在不重新加载页面的情况下执行此操作。
为什么不使用jQuery?因为我以后必须从select中获取值才能注册广告,然后我会得到额外的select字段,这有点搞砸了。
I\'m not getting any error and it doesn\'t work:
Ok, I tweaked the code and here is what I have so far:
在我的标题中。php\'<script>
jQuery(function($) {
$("#opt-categorias").change(function(){
var opt_categorias = $("#opt-categorias").val();
$.ajax({
type: "GET",
url: \'gerenciamento-categorias.php?cat=\'+opt_categorias,
contentType:"application/json; charset=utf-8",
dataType: "json",
success: function(data){
$("#opt_tipo").empty();
$("#opt_tipo").append("<option value=\'\'> Tipo de produto</option>");
$.each(data, function(i, item){
$("#opt_tipo").append(\'<option value="\'+ data[i].slug +\'">\'+ data[i].name +\'</option>\');
});
},
complete:function(){
}
});
});
});
</script>
在我的尸体上。php\'$categorias = \'categorias\';
$tax_categorias = get_terms($categorias, array(\'hide_empty\' => false));
<div class="detalhes-artigo">
<div class="col-md-2 categorias" id="lista-categorias">
<select id ="opt-categorias" name="opt-categorias" class="opt-categorias">
<option value="#"> Categoria </option>
<?php
foreach ($tax_categorias as $tax_categoria) {
// Check if current term ID is equal to term ID stored in database
$selected_categorias = ( $stored_cat_categoria == $tax_categoria->term_id ) ? \'selected\' : \'\';
echo \'<option value=\'. $tax_categoria->slug.\'\' . $selected . \'>\' . $tax_categoria->name. \'</option>\';
}
?>
</select>
</div>
<div class="col-md-2 tipos" id="lista-tipos">
<div class="col-md-2 opt_tipo">
<select id="opt_tipo" name="opt_tipo" class="opt_tipo">
</select>
</div>
</div>
在我的gerenciamento分类中。php’(我有更多的选项,但只保留其中的一部分,因为它们都具有相同的结构)
$tipos_bicicletas = \'tipos_bicicletas\';
$tax_tipos_bicicletas = get_terms($tipos_bicicletas, array(\'hide_empty\' => false));
if ( $_GET[\'cat\'] == \'bicicleta\' ) {
json_encode($tax_tipos_bicicletas);
}