我正在使用ajax来执行我的选择框,但是当我选择第一个选择框时,第二个选择框没有显示任何值。如何在第二个选择框中显示该值?
index.php(jQuery):
$(document).ready(function(){
$('#brand').on('change',function(){
var brand = $(this).val();
if(brand){
$.ajax({
type:'POST',
url:'ajax_city.php',
data:'brand='+brand,
success:function(html){
$('#outlet').html(html);
}
});
}else{
$('#outlet').html('<option value="">Select OUTLET first</option>');
}
});
});
index.php(Html / php)
<select class="brand" style="width:200px" id="brand" name="brand" >
<?php $i = 0;
while (!$br->EOF) {
$fv = $br->Fields("mBrand");
$name = $fv->value;
echo '<option value="' . trim($name) . '"><b>' . $name . '</b></option>';
$br->MoveNext();
}
?>
</select>
<input type="hidden" name="loc" id="loc">
</td>
</div>
<li class="form-line" id="id_19">
<label class="form-label-left" id="label_19" for="input_19"> Outlet </label>
<div id="cid_20" class="form-input">
<br><br>
<select class="outlet" name="outlet" id="outlet" style="width:200px" >
<option value="">--Select outlet--</option>
</select>
ajax_city.php:
if(isset($_POST["brand"])&&!empty($_POST["brand"]))
{
$brand=$_POST['brand'];
$rb = $itdeptconn->Execute("SELECT DISTINCT mOutlet FROM [IT_Dept].[dbo].[mstOutlet] WHERE mBrand='".$brand."'");
//$sql=mysql_query("select b.id,b.data from data_parent a,data b where b.id=a.did and parent='$id'");
echo '<option value="">Select Outlet</option>';
while (!$rb->EOF) {
$fv = $rb->Fields("mOutlet");
$name = $fv->value;
echo '<option value="' . trim($name) . '"><b>' . $name . '</b></option>';
$rb->MoveNext();
}
}
?>
答案 0 :(得分:0)
在ajax_city.php页面上使用方括号而不是圆括号。 它应该是 - &gt; !空($ _ POST [ “品牌”]))
希望它能运作
答案 1 :(得分:0)
索引:
<!DOCTYPE html>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<meta http-equiv='content-type' content='text/html;charset=utf-8' />
<link type='text/css' rel='stylesheet' href='test.css' />
<script type='text/javascript' src='js/jquery-1.12.1.js'></script>
</head>
<body>
<select class="brand" style="width:200px" id="brand" name="brand" >
<option value="">--Select outlet--</option>
<option value="data11">Data11</option>
<option value="data21">data21</option>
<option value="data31">data31</option>
</select>
<input type="hidden" name="loc" id="loc">
</td>
</div>
<li class="form-line" id="id_19">
<label class="form-label-left" id="label_19" for="input_19"> Outlet </label>
<div id="cid_20" class="form-input">
<br><br>
<select class="outlet" name="outlet" id="outlet" style="width:200px" >
<option value="">--Select outlet--</option>
</select>
<script type="text/javascript">
$(document).ready(function(){
$('#brand').on('change',function(){
var brand = $(this).val();
if(true){
$.ajax({
type:'POST',
url:'ajax_city.php',
data:'brand='+brand,
success:function(html){
$('#outlet').html(html);
}
});
}else{
$('#outlet').html('<option value="">Select OUTLET first</option>');
}
});
});
</script>
</body>
</html>
ajax_city.php
<?php
if(isset($_POST["brand"])&&!empty($_POST["brand"]))
{
$brand = $_POST['brand'];
// $rb = $itdeptconn->Execute("SELECT DISTINCT mOutlet FROM [IT_Dept].[dbo].[mstOutlet] WHERE mBrand='".$brand."'");
//$sql=mysql_query("select b.id,b.data from data_parent a,data b where b.id=a.did and parent='$id'");
$rb = ["brand1","brand2","brand3"];
// $rowcount = $rb->num_rows;
if(count($rb)>0){
echo '<option value="">Select Outlet</option>';
for($i=0;$i<count($rb);$i++)
{
echo '<option value="'.$rb[$i] .'"><b>'.$rb[$i]. '</b></option>';
}
}else {
echo '<option value="">Outlet not available</option>';
}
}
?>
答案 2 :(得分:0)
使用此代码,我已添加所有评论,只需按照该评论并检查它是否有效。它对我来说很好。
ajax_city.php
<?php
define("DBHOST"," "); //write your host name
define("DBNAME"," "); //write your database name
define("DBUSER"," "); //write your username
define("PASS"," "); //write your password
$itdeptconn = new PDO('mysql:host='.DBHOST.';dbname='.DBNAME,DBUSER,PASS);
if(isset($_POST["brand"])&&!empty($_POST["brand"]))
{
$brand=$_POST['brand'];
$rb=$itdeptconn->prepare("SELECT DISTINCT name FROM restaurant WHERE check_payable_to='C3'"); //write here your query
$rb ->execute();
if(count($rb)>0)
{
echo '<option value="">Select Outlet</option>';
while($data = $rb ->fetch())
{
echo '<option value="' . $data['name'] . '"><b>' . $data['name'] . '</b></option>'; } //name is the column name,change it with your column name
}
}
else
{
echo '<option value="">Outlet not available</option>';
}
?>