Javascript PHP/jQuery Ajax奇怪的结果,需要一些建议吗?
我有一个小问题,我无法解决。 我有一个让我们称之为“插入页面”,用户在其中输入Firstname和Lastname,并且有一个“楼层”列表的下拉列表。现在每层楼都有工作站。因此,当用户选择一个楼层时,我会发出一个Ajax调用,以返回该楼层的工作站: 插入地板:Javascript PHP/jQuery Ajax奇怪的结果,需要一些建议吗?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个小问题,我无法解决。 我有一个让我们称之为“插入页面”,用户在其中输入Firstname和Lastname,并且有一个“楼层”列表的下拉列表。现在每层楼都有工作站。因此,当用户选择一个楼层时,我会发出一个Ajax调用,以返回该楼层的工作站: 插入地板: $('#floor').change(function (){ if ($('#floor option:selected').text() == "Please select a floor"){ $('#wo
$('#floor').change(function (){
if ($('#floor option:selected').text() == "Please select a floor"){
$('#workstation').slideUp();
} else {
$('#workstation').slideDown();
}
$floor = $('#floor option:selected').val();
$.ajax({
url: "workstationAjax.php",
data: {floor: $floor},
type: 'post',
dataType: 'json',
success: function(data){
$.each(data, function (i, msg) {
$('#workstation').append("<option id='department' name='department' value=" + msg.floor_id + ">" + msg.description + "</option>")
});
}
});
});
$('#floor')。更改(功能(){
如果($(“#楼层选项:选中”).text()=“请选择一个楼层”){
$(“#工作站”).slideUp();
}否则{
$(“#工作站”).slideDown();
}
$floor=$(“#floor选项:选定”).val();
$.ajax({
url:“workstationAjax.php”,
数据:{floor:$floor},
键入:“post”,
数据类型:“json”,
成功:功能(数据){
$.each(数据、函数(i、msg){
$(“#工作站”)。追加(“+msg.description+”)
});
}
});
});
WorkstationAjax.php
<?php
header ("content-type: application/json; charset=utf-8");
require_once '../Config/db.php';
if (!isset($_POST['floor']) || $_POST['floor'] == "") {
return false;
} else {
$floorID = $_POST['floor'];
$query = $conn->query("select * from workstation where floor_id= $floorID");
$query->execute();
$array = $query->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($array);
}
您很可能看到奇怪的行为,因为您为每个
元素提供了相同的ID。ID应该是唯一的,或者将其更改为类。对于HTML中的工作站,您有anme
而不是name
,文档中的id
必须是唯一的。这可能不是什么大问题,但是名称
在选项
元素上也无效。有关和的详细信息,请参阅文档
<h3><strong>Insert Employee</strong></h3>
<form id="insertEmployee" action="admin/insert.php" method="post">
<input type="text" name="firstname" placeholder="Enter Firstname" class="form-control-static"/>
<p/>
<input type="text" name="lastname" placeholder="Enter Lastname" class="form-control-static" />
<br />
<select id="floor" name="floor">
<option value="">Please select a floor</option>
<?php
$floorArray = getData("floor");
foreach ($floorArray as $key=> $row) {
echo "<option id='floor' name='floor' value=\"{$row['floor_id']}\">{$row['description']}</option>";
}
?>
</select>
<br>
<select id="workstation" anme="workstation">
</select>
<br />
<select id="department" name="department">
</select>
$.each(data, function (i, msg) {
$('#workstation').append("<option id='department' name='department' value=" + msg.floor_id + ">" + msg.description + "</option>")
});
$.each(data, function (i, msg) {
$('#workstation').append("<option id='workstation' name='workstation' value=" + msg.floor_id + ">" + msg.description + "</option>")
});