使用jquery ajax和php多次下拉列表

时间:2015-08-10 00:47:53

标签: php jquery html ajax

我正在关注本教程 - 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

1 个答案:

答案 0 :(得分:1)

如果要显示两个select标签,则需要在第一个选择中创建默认值,因为必须根据第一个选项为第二个选项创建选项。

所以我要做的是:

  1. <option value="">Please Select</option>
  2. 中删除目标网页中的<select name="country" ...>
  3. 将以下代码添加到定义<script>函数的showState中(但在函数之前和之外):

    $(function(){
        $('select[name=country]').trigger('onchange');
    });
    
  4. 像这样,你在第一个选择中有一个默认值,第二个将始终显示与第一个选择中的选择匹配的选项。