我有两个下拉列表,第二个依赖于第一个下拉列表选择。
我已经测试了 getSalary 和 getamount ,它可以获取数组,但无法加载到 try.php 。
什么可能出错?这是我的代码。
try.php:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="jquery-1.11.3.min.js"></script>
<script src="jquery-ui.js"></script>
<script src="script.js"></script>
</head>
<body>
Grade and Increment
<select name="salaryid" id="salaryid" ></select>
<br>
Salary Amount:
<select name="salaryamt" id="salaryamt" ></select>
</body>
</html>
的script.js:
$(document).ready(function () {
$.getJSON("getSalary.php", success = function(data) {
var options = "";
for (var i = 0; i < data.length; i++)
{
options += "<options value='" + data[i].toLowerCase() + "'>" + data[i] + "</options>";
}
$("#salaryid").append(options);
$("#salaryid").change();
});
$("#salaryid").change(function(){
$.getJSON("getAmount.php?make=" + $(this).val(), success = function(data) {
var options = "";
for (var i = 0; i < data.length; i++)
{
options += "<options value='" + data[i].toLowerCase() + "'>" + data[i] + "</options>";
}
$("#salaryamt").html("");
$("#salaryamt").append(options);
});
});
});
getSalary.php
<?php
include 'pmis_conn.php';
$qrysal = mysql_query("Select grade_incre from salary_ref where year = '2012'") or die(mysql_error());
$makes = array();
while($row = mysql_fetch_array($qrysal))
{
array_push($makes, $row['grade_incre']);
}
echo json_encode($makes);
?>
getamount.php
<?php
if (isset($_GET["make"])) {
include 'pmis_conn.php';
$make = $_GET["make"];
$qrysal = mysql_query("Select amount, year from salary_ref where grade_incre like '{$make}'") or die(mysql_error());
$amount = array();
while($row = mysql_fetch_array($qrysal))
{
//$amt = $row['amount'] + "-" + $row['year']
array_push($amount, $row['amount']);
}
echo json_encode($amount);
}
?>
答案 0 :(得分:0)
检查以下事项:
调试GET调用:
要进行调试,请尝试在Chrome中使用开发人员工具 Ctrl+shift+I
。
在那里,检查网络标签,了解您的ajax呼叫的进展情况。
这里的手册:https://developer.chrome.com/devtools
这里有一个教程:http://discover-devtools.codeschool.com/
调试javascript:
来自开发人员工具的Alvways继续 Source 并在 script.js 上添加一些断点。这里是debug js的手册:https://developer.chrome.com/devtools/docs/javascript-debugging
javascript中的其他问题:
正如您在此处https://jsfiddle.net/86vjfwLe/3/所见,您的$(this).val()
为空。
您应该尝试使用此方法:jQuery get value of select onChange。
html和更改的其他问题:
您正在注入的HTML被破坏了。您必须将options
替换为option
,它才能正常运作。