我正在尝试使用下拉列表填充另一个下拉列表。在第一个列表中,我选择了access_level
,我想使用此值填充具有与之关联的访问级别的所有可用cards
。我可以生成访问级别列表;但是,第二个下拉列表从未填充。
以下是Javascript代码:
<script>
$(document).ready(function() {
$("#access_level").on("change", function(){
var accessLevel = document.getElementById("access_level").value;
$.post('getcard.php', { access: accessLevel }, function(result) {
$('#card').html(result);
}
);
});
});
</script>
HTML代码:
<tr>
<td align="right">Access Level:</td>
<td><label>
<select name='access_level' id='access_level'>
<?if($accesslevel == 0){?>
<option value='99' selected="selected" >No Access Selected</option>
<? }else{ ?>
<option value='<? echo $accesslevel;?>' selected="selected" ><? echo $accesslevel;?> </option>
<?}?>
<? while ($row = $accesslevels->fetch_array()) {?>
<option value='<? echo $row['access_level']?>'><? echo $row['access_level']; ?></option>
<?}?>
</select>
</label></td>
</tr>
<tr>
<td align="right">Availible Cards:</td>
<td><label>
<select name='card' id='card'>
<?if($oldcardnum == "Empty"){?>
<option value='99999999' selected="selected" >No Card</option>
<? }else{ ?>
<option value='<? echo $oldcardnum;?>' selected="selected" ><? echo $oldcardnum;?></option>
<?}?>
<option value='99999999'>No Card</option>
<option value="empty"> </option>
</select>
</label></td>
</tr>
以及相关的PHP文件:
<?php
require_once "class/class.Database.php";
$db = new Database();
$db->connect();
if($_GET['access'])
{
$access_level = $_REQUEST['access'];
$query = $db->mysqli->query("SELECT * FROM card_table WHERE access_level = '$access_level'");
while($row = $query->fetch_array()){ ?>
<option value='<? echo $row['card_num']?>'><? echo $row['card_num']; ?></option>
<?}
}
?>
我尝试通过在php文件的开头添加一个简单的echo
语句来调试一下,看它是否进入if
语句,但是没有打印过。我想从来没有达到php文件中的请求?为什么会发生这种情况,我该如何解决?
答案 0 :(得分:0)
我认为这是你的问题
while($row = $query->fetch_array()){ ?>
<option value='<? echo $row['card_num']?>'><? echo $row['card_num']; ?></option>
将其更改为
while($row = $query->fetch_array()){ ?>
<option value='.$row['card_num'].'> .$row['card_num'] .</option>
你想构建你的下拉列表而不是把它写出来。
答案 1 :(得分:0)
您正在使用$ _GET ['access']从脚本中检索您的信息。但是在脚本中你使用的是Jquery的POST函数,我应该在你的PHP脚本中使用$ _POST ['access']。