gpt4 book ai didi

php - 当变量存在时ajax下拉框

转载 作者:行者123 更新时间:2023-12-01 08:44:05 25 4
gpt4 key购买 nike

我正在尝试对下拉框进行ajax调用(动态)

  • 当变量 $place 可用时,它将进行 ajax 调用并填充下拉框。

我试图将变量 $place 传递给 listplace.php 并将其编码为 json 数据并获取 datalist 值,但不确定编码的 json 文件是否正确

我刚刚尝试了一下,不确定下面的代码是否有效,请帮忙。

下拉框

<select>
<option selected disabled>Please select</option>
</select>

Ajax 调用

<?php if(isset($_GET['place']) && $_GET['place'] !='') {?>
<script>
$.ajax({
type: "POST",
data: {place: '<?= $place ?>'},
url: 'listplace.php',
dataType: 'json',
success: function (json) {
var $el = $("#name");
$el.empty(); // remove old options
$el.append($("<option></option>")
.attr("value", '').text('Please Select'));
}
});
</script>
<?php } ?>

listplace.php

<?php
$sql = @mysql_query("select placename from employee where placename= '$place'");
$rows = array();
while($r = mysql_fetch_assoc($sql)) {
$rows[] = $r;
}

最佳答案

将 AJAX 调用更改为以下内容。

<?php if (isset($_GET['place']) && $_GET['place'] != '') { ?>
<script>
$.ajax({
type: "POST",
data: {place: '<?= $_GET['place'] ?>'},
url: 'listplace.php',
dataType: 'json',
success: function (json) {
if (json.option.length) {
var $el = $("#name");
$el.empty(); // remove old options
for (var i = 0; i < json.option.length; i++) {
$el.append($('<option>',
{
value: json.option[i],
text: json.option[i]
}));
}
}else {
alert('No data found!');
}
}
});
</script>
<?php } ?>

你的 PHP

<?php
$place = $_POST['place'];
$sql = @mysqli_query($conn,"select placename from employee where placename= '$place'");
$rows = array();
while($r = mysqli_fetch_assoc($sql)) {
$rows[] = $r['placename'];
}
if (count($rows)) {
echo json_encode(['option'=> $rows]);
}else {
echo json_encode(['option'=> false]);
}

关于php - 当变量存在时ajax下拉框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44118147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com