Ajax加载复选框后选择组合框- php

ajax load checkbox after select combo box - php

本文关键字:php 组合 选择 加载 复选框 Ajax      更新时间:2023-09-26

我有一个表单,在一个城市内注册的社区中寻找ajax,这个城市被选中,它被加载在一个选择上的社区。它工作得很好,但我需要添加复选框,这样你就可以选择多个社区。我在努力,但是行不通。我正在尝试使用jQuery插件多重选择器。

<head>
    <link href="multiple-select.css" rel="stylesheet"/>
<script language="javascript">
function search_data(city)
{
  ajax.open("GET", "search.php?city=" + city, true);
  ajax.onreadystatechange = handleHttpResponse;
  ajax.send(null);
}
function handleHttpResponse()
{
  campo_select = document.form_av.neighborhood;
  if (ajax.readyState == 4) {
    campo_select.options.length = 0;
    results = ajax.responseText.split(",");
    for( i = 0; i < results.length; i++ )
    {
      string = results[i].split( "|" );
      if ( string[0] != "" ){
      campo_select.options[i] = new Option( string[0], string[0] );
      } else {
      campo_select.options[i] = new Option( "all neighborhoods" , "", "defaultSelected","selected" );
      }
    }
  }
}
function getHTTPObject()
{
    if(window.XMLHttpRequest)
    {
        return new XMLHttpRequest();
    } else
    if(window.ActiveXObject)
    {
        var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"]; 
        for(var i = 0; i < prefixes.length; i++)
        {
             try
            {
             return new ActiveXObject(prefixes[i] + ".XMLHTTP");
            } catch (e) {}
        }
    }
}
var ajax = getHTTPObject();
</script>
</head>
<body>
<form name="form_av" id="hongkiat-form" method="get" action="">

                    City
                    <select name="city" size="1" class="txtinput" id="city" style="width:130px;" onChange="search_data( this.value )">
                        <option selected value="">Todas</option>
                        <? $consulta = mysql_query("SELECT * FROM city ORDER BY city_name ASC");
                        while( $row = mysql_fetch_assoc($consulta)){?>
                        <option value="<? echo retira_acentos($row['city_name']);?>"><? echo retira_acentos($row['city_name']);?></option>
                        <? }?>
                    </select>


                   Neighborhood
                    <select name="neighborhood" size="1" class="txtinput" id="neighborhood" style="width:130px;" multiple="multiple">
                        <option value="" selected>------</option>
                    </select>
               </form>
    <script src="jquery-1.7.2.min.js"></script>    
    <script src="jquery.multiple.select.js"></script>
    <script>
        $('#neighborhood').multipleSelect();
    </script>
</body>

谢谢!

我不明白为什么你需要复选框来做到这一点。然而,我想我知道什么是bug在你的代码:你做一个

$('#neighborhood').multipleSelect();

,但是当执行这一行时,没有提供城市,因此multiselect将为空。您必须在search_data函数的末尾执行multieselect。

希望对大家有所帮助