基于另一个选择框值的选择框php
问题描述:
我使用ajax来做我的选择框,但是当我选择第一个选择框时,第二个选择框没有显示任何值。如何显示第二个选择框中的值?基于另一个选择框值的选择框php
的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();
}
}
?>
答
指数:
<!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>';
}
}
?>
+0
我可以这样写吗?我已发布我的答案在另一篇文章 – Jazlyn
答
使用这个代码,我已经添加了所有的评论,然后检查它是否有效。它对我来说工作得很好。
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>';
}
?>
+0
感谢您的代码,但这项工作oledb数据库? bcoz即时通讯使用它。 – Jazlyn
任何控制台错误? – Rasclatt
在你的ajax中,试试:'data:{“brand”:brand},' – Rasclatt
@Rasclatt没有错误显示。 – Jazlyn