我有一个jQuery函数,它采用表单选择元素的选定选项并将其发送到php文件,该文件应该返回html以填充第二个选择元素。 不幸的是,jQuery正在触发,但返回值为空。 有什么想法吗?
表单元素:
if ($result) {
echo '<label>*Team: <select name="team" class="team" style=''width: 150; font-size: 16px;'' autocomplete="off" tabindex="1">';
echo '<option value="">Select</option>';
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo '<option value="'.$row['TeamID'].'">'.$row['CaptainLast']." ".date('m-y',strtotime($row['ArrDate'])).'</option>';
}
echo '</select></label>';
} else {
echo "0 results";
}
?>
<label>*Team Member: <select name="member" class="member" style='width: 150; font-size: 16px;' autocomplete="off" tabindex="2">
<option value="">Select</option>
</select></label>
jQuery:
$(document).ready(function(){
$(document).on('change','.team', function(){
var id=$(".team option:selected").val();
var dataString = 'tmid='+ id;
console.log(dataString);
$.ajax({
type: "POST",
url: "scripts/memfltpop.php",
data: dataString,
dataType: 'html',
success: function(html){
$(".member").html(html);
}
});
});
});
和服务器文件:
<?php
$team = $_POST['tmid'];
echo $team;
$con = mysqli_connect('**********', '****', '******', '*******');
if ($con) {
$sql = "SELECT MemberAdmin.IndID, MemberAdmin.First, MemberAdmin.Last ". "FROM MemberAdmin ". "LEFT JOIN Members ON MemberAdmin.IndID = Members.IndID ". "WHERE Members.TeamID='" .$team. "'";
$result = mysqli_query($con,$sql) or die(mysqli_error());
if ($result) {
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$id=$row['IndID'];
$data=$row['First']." ".$row['Last'];
echo '<option value="">Select</option>';
echo '<option value="'.$id.'">'.$data.'</option>';
}
} else {
echo "0 results";
}
}
else {
echo'Not connected to database';
}
为了在 html 中获取响应,您需要在 ajax 请求中使用 dataType html,如下所示:
$.ajax({
type: "POST",
url: "scripts/memfltpop.php",
data: dataString,
dataType : 'html',
success: function(html){
$(".member").html(html);
}
});
哇,找到了。 我从没想过这会导致 SQL 惊慌失措,但我从
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
自
while($row = mysqli_fetch_array($result, MYSQL_ASSOC)) {
当我更新我的SQL语言时,我错过了这一行。 谢谢大家!