【问题标题】:In PHP and jQuery, make one drop-down depend on another drop-down list? [duplicate]在 PHP 和 jQuery 中,使一个下拉列表依赖于另一个下拉列表? [复制]
【发布时间】:2013-05-13 03:50:03
【问题描述】:

我有两个下拉列表,一个依赖于另一个,如果一个值选择了另一个值,则另一个从数据库中加载相同的值。例如,如果我选择一个国家,其他加载该国家相同的城市。

<select name="A" class="input_text" id="A">

<?php
include 'config/config.php'; 
$sql="SELECT * FROM department ORDER BY Dept ASC";
$result=mysql_query($sql);$options="";
while ($row=mysql_fetch_array($result)){    
$did=$row["DeptCode"];
$depts=$row["Dept"];
$options.="<OPTION value='$did'>".$depts;}?>
 <option value="0">Select...</option>
<?php echo $options; ?>'
 </option>
</select>

<select name="B" class="input_text" id="B">

<?php           
include 'config/config.php'; 
$sql="SELECT * FROM department WHERE DeptCode=$dpttitle";
$result=mysql_query($sql);$options="";
while ($row=mysql_fetch_array($result)){    
$did=$row["DeptCode"];
$depts=$row["Dept"];
$options.="<OPTION value='$did'>".$depts;}?>
<option value="0">Select...</option>
<?php echo $options; ?>
</option>
</select>

<script type="text/javascript">
A.onblur = function() {
 B.value = this.value;};
</script>

【问题讨论】:

标签: php javascript jquery html-select


【解决方案1】:

您正在寻找“ajax”功能。尝试使用 JQuery 查看$.get(url,data,success);

首先,删除 Dropbox B 并将其替换为带有id="B" 的 div

$("#A").change(loadCities);
function loadCities(e){
    // prepare get statement
    var url = "http://www.yoursite.com/ajax/getCities";
    var data = {
        country : $("#A").val()
    };
    $.get(url, data, loadCitiesComplete);
}
function loadCitiesComplete(data){
    $("#B").html(data);
}

那个网址:"http://www.yoursite.com/ajax/getCities" php 应该看起来像

<?
if(isset($_GET['country'])){
    $html = '<select name="B" class="input_text" id="B">';
    include 'config/config.php'; 
    $dpttitle = mysql_real_escape_string($_GET['country']);
    $sql="SELECT * FROM department WHERE DeptCode=$dpttitle";
    $result=mysql_query($sql);$options="";
    while ($row=mysql_fetch_array($result)){    
    $did=$row["DeptCode"];
    $depts=$row["Dept"];
    $html .="<OPTION value='$did'>".$depts;}?>
    $html .= '<option value="0">Select...</option>';
    $html .= '</option>';
    $html .= '</select>';
    echo $html;
}
?>

显然,php 应该正确使用国家/地区 $_GET var,使用 PDO 或 MySQLi 以及为安全准备的语句等。但希望这会让您朝着正确的方向前进。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-12
    • 2021-05-26
    • 2019-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多