【发布时间】:2013-09-16 14:11:05
【问题描述】:
感谢您抽出宝贵时间查看此内容。
我有两个下拉菜单。第一个是客户列表,第二个是项目列表。
所有项目都只绑定到一个客户端,所以我希望代码获取客户端的用户输入,然后读取该值,并修改 PHP 代码以仅打印第二个下拉菜单中的值对应于所选客户。
这里有一些代码。对于第一个下拉菜单:
<div class="item">
<label for='clSel' id='tsClLabel'>Client:</label>
<select name='clSel' id='wClient' onChange="bGroup();">
<option></option>
<?php
$cQuery = "SELECT * FROM Clients ORDER BY Client_Name";
$cResult = mysql_query($cQuery);
while($cData = mysql_fetch_assoc($cResult)) {
echo '<option id="Cid" value="'.$cData['Id'].'">'.$cData['Client_Name'].'</option>';
}
?>
</select>
这是我的 jQuery 函数,用于从第一个下拉列表中获取用户选择的值:
<script>
function bGroup(){
val1 = $("#wClient").val();
// window.alert(val1);
// $('#div1').html(val1);
return val1;
}
</script>
以及第二个下拉菜单的代码:
<label for='billGroupId'>Billing Group: </label>
<select name='billGroupId'>
<option value=''></option>
<?php
$sql = "SELECT * FROM Billing_Groups ORDER BY Client_Id, Name";
$sth=$dbh->prepare($sql);
$sth->execute();
while ($row = $sth->fetch())
{
if ($row['Name']!= ''){
echo "<option value='".$row['Id']."' > ".$row['Name']."</option>";
echo "<script> bGroup(); </script>"
}
}
?>
</select>
我知道我需要在第二个下拉菜单中包含 WHERE 语句
基本上是Select * FROM Clients WHERE Client_ID == $jsVAR。
我已经在 var1 JavaScript 变量中有我需要的值。如何获取 PHP 读取或通过 JS 代码发送到 PHP 的这一小段数据?
谢谢!!
【问题讨论】:
-
我觉得你应该看看
jquery ajax -
您无法使用 php 读取 javascript 变量,除非该变量作为 POST/GET 变量传递。 PHP 代码一次在服务器端运行,然后呈现给用户。另一方面,Javascript 是客户端,在呈现给用户时/之后运行。您正在寻找的是在选择客户端后重新加载页面或使用ajax request 来处理脚本而不重新加载页面。