我正在关注本教程 - http://www.thesoftwareguy.in/multiple-dropdown-with-jquery-ajax-and-php/
如果你看一下演示 - http://demos.thesoftwareguy.in/multiple-dropdown-jquery-ajax-php/,第一个选择出现后会出现第二个选择。当第二个选择出现时,第三个框出现。
这是ajax代码:
function showState(sel) {
var primary_cat = sel.options[sel.selectedIndex].value;
$("#output1").html("");
$("#output2").html("");
if (primary_cat.length > 0) {
$.ajax({
type: "POST",
url: "fetch_state.php",
data: "primary_cat=" + primary_cat,
cache: false,
beforeSend: function() {
$('#output1').html('<img src="loader.gif" alt="" width="24" height="24">');
},
success: function(html) {
$("#output1").html(html);
}
});
如何让第二个下拉菜单始终显示,而不是在选择时显示和消失?无论什么时候做出第一个选择,我都会喜欢它。
我试过消除行
beforeSend: function() {
$('#output1').html('<img src="loader.gif" alt="" width="24" height="24">');
},
和
success: function(html) {
$("#output1").html(html);
}
单独和一起但是它不起作用。
请原谅我无聊的问题,但我还在学习PHP和AJAX
答案 0 :(得分:1)
如果要显示两个select
标签,则需要在第一个选择中创建默认值,因为必须根据第一个选项为第二个选项创建选项。
所以我要做的是:
<option value="">Please Select</option>
<select name="country" ...>
将以下代码添加到定义<script>
函数的showState
中(但在函数之前和之外):
$(function(){
$('select[name=country]').trigger('onchange');
});
像这样,你在第一个选择中有一个默认值,第二个将始终显示与第一个选择中的选择匹配的选项。