Php 根据第一次的结果填充第二个下拉列表
目前,我正在使用动态选择填充下拉列表。我想做的是显示第二个下拉列表,其中包含基于第一个选择的结果。我不知道该怎么做,也一直在寻找答案,但没有结果。我已经包括了我用来填充第一个菜单的代码,如果您需要任何进一步的代码,请告诉我。如果有人能帮助我编写代码,我非常愿意研究jQuery或javascript。非常感谢Php 根据第一次的结果填充第二个下拉列表,php,jquery,Php,Jquery,目前,我正在使用动态选择填充下拉列表。我想做的是显示第二个下拉列表,其中包含基于第一个选择的结果。我不知道该怎么做,也一直在寻找答案,但没有结果。我已经包括了我用来填充第一个菜单的代码,如果您需要任何进一步的代码,请告诉我。如果有人能帮助我编写代码,我非常愿意研究jQuery或javascript。非常感谢 <form id="boxform" method="post" class="webform" name="boxform" /> <label for
<form id="boxform" method="post" class="webform" name="boxform" />
<label for="company">Select a Company:</label>
<select name="company" id="company" />
<option SELECTED VALUE="">Select a Company</option>
<?php
do {
?>
<option value="<?php echo $row_Recordsetcust['customer']?>"><?php echo $row_Recordsetcust['customer']?></option>
<?php
}
while ($row_Recordsetcust = mysql_fetch_assoc($Recordsetcust));
$rows = mysql_num_rows($Recordsetcust);
if($rows > 0)
{
mysql_data_seek($Recordsetcust, 0);
$row_Recordsetcust = mysql_fetch_assoc($Recordsetcust);
}
?>
</select>
更新:
这是php格式的第二个下拉列表的代码,如果它有助于继续,谢谢
<label for="boxrtnaddress">Select Address</label>
<select name="boxrtnaddress" id="boxrtvaddress" />
<option SELECTED VALUE="">Select Delivery Address</option>
<?php
while ($row_rs_select_address2 = mysql_fetch_assoc($rs_select_address2))
{
$value=$row_rs_select_address2['address1_com']. " ". $row_rs_select_address2['address2_com']. " ". $row_rs_select_address2['address3_com']. " ". $row_rs_select_address2['town_com']. " ". $row_rs_select_address2['postcode_com'];
$caption=$row_rs_select_address2['address1_com']. " ". $row_rs_select_address2['address2_com']. " ". $row_rs_select_address2['address3_com']. " ". $row_rs_select_address2['town_com']. " ". $row_rs_select_address2['postcode_com'];
echo "<option value=\"", $value, "\">", $caption, "</option>";
}
?>
</select>
+++++++++++++解决方案++++++++++
<script language="javascript" type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script language="javascript" type="text/javascript">
$(function() {
$("#company").change(function() {
if ($(this).val()!="") $.get("getOptions.php?customer=" + $(this).val(), function(data) {
$("#divId").html(data);
});
});
});
</script>
getOptions.php
<?php
$customer = mysql_real_escape_string( $_GET["customer"] ); // not used here, it's the customer choosen
$con = mysql_connect("localhost","root","");
$db = "sample";
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($db, $con);
$query_rs_select_address2 = sprintf("SELECT * FROM company_com where idcode_com = '$customer'");
$rs_select_address2 = mysql_query($query_rs_select_address2, $con) or die(mysql_error());
$row_rs_select_address2 = mysql_fetch_assoc($rs_select_address2);
$totalRows_rs_select_address2 = mysql_num_rows($rs_select_address2);
$address=$row_rs_select_address2['address1_com']. " ". $row_rs_select_address2['address2_com']. " ". $row_rs_select_address2['address3_com']. " ". $row_rs_select_address2['town_com']. " ". $row_rs_select_address2['postcode_com'];
echo '<select name="customer">'.'<option value="">Select delivery address</option>'.'<option value="address">'.$address.'</option>'.'</select>';
?>
这可能会有帮助,这是一把小提琴 根据第一个选择动态附加一个选择。代码凌乱肮脏,因此我不打算在这里发布: 您可以查看以下内容,以便更好地了解工作原理 更改select的选定值时触发 is':empty'检查新创建的'select'所指向的div 要追加的是否为空 编辑 我会给你提示,希望你能填写剩下的代码 首先,您需要处理第一个下拉列表的更改事件,当值更改时,您可以执行ajax、get、向服务器发送请求、获取结果并填充第二个下拉列表,下面是一个有用的stackoverflow链接,可以帮助您 在您的results.php中 从第一个下拉列表中获取值
$val = $_POST['data'];
//now do the sql queries to fetch desired result
//and echo the results back
echo $results ;
这里有一些有用的链接
这可能会有帮助,这是一把小提琴 根据第一个选择动态附加一个选择。代码凌乱肮脏,因此我不打算在这里发布: 您可以查看以下内容,以便更好地了解工作原理 更改select的选定值时触发 is':empty'检查新创建的'select'所指向的div 要追加的是否为空 编辑 我会给你提示,希望你能填写剩下的代码 首先,您需要处理第一个下拉列表的更改事件,当值更改时,您可以执行ajax、get、向服务器发送请求、获取结果并填充第二个下拉列表,下面是一个有用的stackoverflow链接,可以帮助您 在您的results.php中 从第一个下拉列表中获取值
$val = $_POST['data'];
//now do the sql queries to fetch desired result
//and echo the results back
echo $results ;
这里有一些有用的链接
通过设置选择的名称,创建子按钮,然后调用ifisset'sub',$\u POST by$\u POST[所选的选项],您可以continue@negin对不起,我不明白。你能举个例子吗?@bollo你所说的$divId.htmldata是什么意思;通过设置选择的名称,创建子按钮,然后调用ifisset'sub',$\u POST by$\u POST[所选的选项],您可以continue@negin对不起,我不明白。你能举个例子吗?@bollo你所说的$divId.htmldata是什么意思;如何将该代码转换为从mysql的菜单中提取?谢谢你想用mysql数据库中的值填充第二个下拉列表吗?谢谢。我将尽力使它发挥作用。我唯一的问题是php db调用。有没有一个例子可以说明如何做到这一点,或者它与标准php相同?这只是访问db并生成适合我的queriesposted解决方案的正常方式。只需要让while循环在php中工作。可能会帮助别人。谢谢你们的帮助,我该如何将这些代码转换成从mysql菜单中提取的代码?谢谢你想用mysql数据库中的值填充第二个下拉列表吗?谢谢。我将尽力使它发挥作用。我唯一的问题是php db调用。有没有一个例子可以说明如何做到这一点,或者它与标准php相同?这只是访问db并生成适合我的queriesposted解决方案的正常方式。只需要让while循环在php中工作。可能会帮助别人。谢谢你的帮助