我在php中从一个包含工作代码列表的表中获得了一个下拉字段。选择工作代码后,我需要根据工作代码从另一个表中查找费率,并将其输入到输入字段中。因此,在工作代码下拉列表中,我得到了执行javascript的onchange事件。
在Javascript中,我执行rate.php,但如何将rate.php中的值返回到字段?
工作代码下拉列表:
//workcode drop down
$get5 = mysqli_query($con,"SELECT * FROM va_workcodes order by BriefDesc");
$option_wc = "<select name='wc' id='wc' onchange='getrate()'>";
while($row5 = mysqli_fetch_array($get5)) {
$option_wc .= "<option value = '";
$option_wc .= $row5['WCNo'];
$option_wc .= "'>";
$option_wc .= $row5['BriefDesc'];
$option_wc .= "</option>";
}
echo $option_wc;
echo "</select>";
速率字段
echo "<input name='rate' id='rate' type='text' />";
javascript/jquery
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
function getrate(){
$.get("rate.php");
}
</script>
rate.php
<?php
$getrate1 = mysqli_query($con,"SELECT * FROM rates where .....");
while($row1 = mysqli_fetch_array($getrate1)) {
$StdRate = $row1['StdRate'];
}
?>
所以基本上我需要将$StdRate从rate.php返回到inputfield(rate)
对代码进行以下更改:
rate.php
<?php
$getrate1 = mysqli_query($con,"SELECT * FROM rates where .....");
while($row1 = mysqli_fetch_array($getrate1)) {
$StdRate = $row1['StdRate'];
}
echo $StdRate; // Print the rate in the end
?>
javascript/jquery
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
function getrate(){
$.get("rate.php", function(data) { // Add a callback to success and retrieve printed value as parameter
$("#rate").val(data);
});
}
</script>
问题是,您正在进行AJAX调用,但没有返回它的结果,这是我通过打印完成的,而且在返回后,您必须通过创建回调函数来使用我在JS中完成的结果。