我正在尝试使用带有json格式数据的ajax来获取链接二的下拉列表。我尝试了以下代码,但对于部门和项目,它仅显示空白下拉列表。我不确定我的代码在哪里错误。
主页index.php的代码如下:
<?php
include_once("includes/connection.php");?>
<html><head> <script type="text/Javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/Javascript">
function showdept(){
$('#deptdropdown').empty();
$('#deptdropdown').append("<option> Loading...</option>");
$('#projectdropdown').append("<option value='0'> All Projects </option>");
$.ajax({
type:"POST",
url:"departmentdropdown.php",
contentType:"application/json; charset:utf-8",
dataType:"json",
success: function(data){
$('#deptdropdown').empty();
$('#deptdropdown').append("<option value='0'> All Departments </option>");
$.each(data,function(i,item){
$('#deptdropdown').append('<option value="'+ data[i].deptID +'">'+ data[i].deptname +'</option>');
});
},
complete: function(){
}
});
}
function showproject(departmentID){
$('#projectdropdown').empty();
$('#projectdropdown').append("<option> Loading...</option>");
$.ajax({
type:"POST",
url:"projectdropdown.php",
contentType:"application/json; charset:utf-8",
dataType:"json",
success: function(data){
$('#projectdropdown').empty();
$('#projectdropdown').append("<option value='0'> All Projects </option>");
$.each(data,function(i,item){
$('#projectdropdown').append('<option value="'+ data[i].projectID +'">'+ data[i].projectname+'</option>');
});
},
complete: function(){
}
});
}
$(document).ready(function(){
showdept();
$("#deptdropdown").change(function(){
var deptid= $("#deptdropdown").val();
showproject(deptid);
});
});
</script></head><body> <span>Departments</span><br />
<select id="deptdropdown"></select>
<br /><br />
<span>Projects</span><br />
<select id="projectdropdown"></select> </body></html>
departmentdropdown.php文件的代码如下:
<?php
include_once("includes/connection.php");
$query=" SELECT deptID, deptname FROM departmentdetails WHERE active_status=1 ORDER BY deptname";
$result=mysqli_query($con,$query);
$data=array();
while($array=mysqli_fetch_assoc($result)){
$data[] = array('deptID' => $array['deptID'], 'deptname' => $array['deptname']);
}
header('Content-type: application/json');
echo json_encode($data);?>
projectdropdown.php文件的代码如下:
<?php
include_once("includes/connection.php");
$query="SELECT projectID, deptID projectname FROM projectdetails WHERE active_status=1 AND deptID='".$_GET['departmentID']."' ORDER BY projectname";
$result=mysqli_query($con,$query);
$data=array();
while($array=mysqli_fetch_assoc($result)){
$data[] = array('proID' => $array['projectID'], 'depID' => $array['deptID'], 'projectname' => $array['projectname']);
}
header('Content-type: application/json');
echo json_encode($data);?>
参考方案
在+
和data[i].deptID
之后缺少data[i].projectID
。更改以下内容
showdept()
$('#deptdropdown').append('<option value="'+ data[i].deptID '">'+ data[i].deptname +'</option>');
showproject(departmentID)
$('#projectdropdown').append('<option value="'+ data[i].projectID'">'+ data[i].projectname+'</option>');
至
showdept()
$('#deptdropdown').append('<option value="'+ data[i].deptID +'">'+ data[i].deptname +'</option>');
showproject(departmentID)
$('#projectdropdown').append('<option value="'+ data[i].projectID +'">'+ data[i].projectname+'</option>');
如果我得到url(''),我该如何使用另一个URL - javascript我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…
PHP stringID无法从回显中读入onclick - javascript我有一个音频播放器,可以在HTML中正常工作,但是当我从PHP回显调用时,似乎没有得到div ID的名称,因此它无法播放我的音频。这是我的代码:// Show audio if ($sObj->get('audio') != null) { $sAudio = $sObj->get('audio'); $a…
使用JS和PHP更改弹出窗口背景图像 - javascript我有一个JS函数:function zoom(now) { document.getElementById("popup").style.display = "block"; document.getElementById("photos").style.backgroundImage = …
PHP echo jQuery点击问题 - javascript我在此页面上有一个在php中回显的按钮。我还回显了一个jQuery脚本,以在单击按钮时slideToggle一个ul列表元素。这里的问题是在回显按钮的同时回显了jQuery javascript脚本,我想不出任何办法来延迟它。码:<?php include_once('../php/connDb.php'); mysqli_set_…
提交初始化后删除某些帖子数据 - javascript在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _POST表单数据?我想象过程的方式:提交->收集$ _POST数据->发送数据我想做的事:提交->收集$ _POST数据->删除某些元素->发送数据这样就不必更改处理页面以过滤掉不希望接收的元素了吗? javascript大神给出的解决方案 当然可以,您可以在JS …