php - AJAX/PHP - 使用一个 ajax 调用填充不同类型的输入字段
问题描述
我想出了如何通过 AJAX 填充文本框。我还能够从 AJAX 填充下拉选择框。但我似乎无法从一个 AJAX 调用中同时填充文本框和选择框。
这是我所拥有的娱乐:
<?php echo "
<script type="text/javascript" language="javascrpt">$(document).ready(function(){
$('#test').change(function() {
$.ajax({
url:"myurl",
type:"POST",
dataType: "json",
data: {test: $(this).val()},
success:function(data)
{
$('#team1').val(data["team1"]);
$('#team2').val(data["team2"]);
$('#team_member1').val(data["g1"]);
}
});
});
});
</script>
<select name='test' id='test'>
<option value='1'></option>
<option value='2'></option>
<option value='3'></option>
</select>
<input type='text' name='team1' id='team1' value='".$t1."'>
<select name='team_member1 id='team_member1'>
<option value='".$output."'></option> <!--!!HELP HERE!!-->
</select>
<input type='text' name='team2' id='team2' value='".$t2."'>
myurl.php
<?php
$con = mysqli_connect("localhost","root","root","local");
$output='';
$sql = "SELECT name FROM team WHERE id='".$_POST["test"]."'";
$result = $con->query($sql);
while($row = $result->fetch_assoc())
{
$output .= '<option value="'.$row['name'].'">'.$row['name'].'</option>';
}
$t1='Boston Falcons';
$t2='Human Resources';
$response = array(
"team1" => $t1,
"team2" => $t2,
"g1"=>$output, <---mysql resultset for dropdown not working
);
echo json_encode($response);
?>
更改后#test
,AJAX 能够 使用它们各自的字符串预先填充#team1
和文本字段。#team2
myurl.php
但是,它不会预先填充#team_member1
选项列表$output
(mysql 结果集)。
提前致谢。
解决方案
原来在AJAX成功,我需要返回$('#team_member1').html(data["g1"]);
代替
$('#team_member1').val(data["g1"]);
推荐阅读
- javascript - 在数组中使用切片不会影响模板
- git - 如何恢复当前 git 提交的文件
- iphone - 如何使用蓝牙串行配置文件将串行数据发送到 Mac
- postgresql - 根据一个值删除重复项
- java - 使用堆的最佳优先搜索实现
- google-app-maker - Google App Maker:外部 JavaScript 库
- php - 将生成的字符串用于 MySQL 中带有变量的数组
- c# - Razor 标记在一行上返回一些元素,在同一行上返回其他元素,没有空格
- regex - 在 PDF 中查找一个单词,然后在该单词之后返回 11 个字符?
- sql - SQL : MAX() OVER (PRITITON BY ... ORDER BY ..) : ORDER BY 子句的工作看起来像