gpt4 book ai didi

javascript - 如何将ajax查询返回的数据显示在下拉列表中?

转载 作者:行者123 更新时间:2023-11-29 10:54:47 25 4
gpt4 key购买 nike

我有一个页面,其中单选按钮的 onClick 我正在调用一个包含 ajax 的 Java 脚本函数,其 URL 为 edit.php,其中包含从表中返回章节数组的查询。

现在我从数据库中获取这些章节,但我想在章节的选择标签中显示它们。第一页加载的内容包含所有章节,单击类型(单选按钮)时,我想显示按类型排序的章节。

    <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>MCQ Questions</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
function getValue(obj) {
var value = obj.value;
$.ajax({
type: "POST",
url: 'edit.php',
data: {
"val" : value
},
dataType: 'text',
async: false,
cache: false,
success: function (result) {

var results = result;


Select chapter :
<select name="chapters">

<?php
if (count($results > 0)) {
foreach ($results as $row):?>
<option value="<?php echo $row['id']; ?>"><?php echo $row['title']; ?></option>
<?php
endforeach;
} else {
?>

<option value="0">No data found</option>
<?php
}
?>

// window.location.reload();
}
});
}
</script>
</head>
<body>

<?php
session_start();
//echo "type" . $_SESSION["type"] . ".<br>";

$dbh = new PDO('mysql:host=localhost;dbname=airman_handbook', 'siddhi', 'siddhi');

$type = $_SESSION["type"];
?>

<form method="post" action="uploadQuestion.php" enctype="multipart/form-data">
<p> Enter the question :</p> <input name="question" type="text"> <br><br>
Select question type : <br><br>

<div id="types">

SSgt <input name="type" type="radio" id="t2" value="1" <?= ($type == 1 ? "checked" : ""); ?>
onClick="getValue(this)">

TSgt <input name="type" onClick="getValue(this)" type="radio" id="t1"
value="2" <?= ($type == 2 ? "checked" : ""); ?>>

MSgt <input name="type" onClick="getValue(this)" type="radio" id="t3"
value="3" <?= ($type == 3 ? "checked" : ""); ?>>
</div>

<p> Enter options :</p>
Enter option 1 : <input name="opt1" type="text"> <br><br>
Enter option 2 : <input name="opt2" type="text"> <br><br>
Enter option 3 : <input name="opt3" type="text"> <br><br>
Enter option 4 : <input name="opt4" type="text"> <br><br>

<p> Enter correct answer :</p>

<input name="ans" type="input"> <br><br>
Select chapter :
<select name="chapters">

<?php
$stmt = $dbh->prepare("SELECT * FROM chapters");

$stmt->execute();
$results = $stmt->fetchall(PDO::FETCH_ASSOC);

if (count($results > 0)) {
foreach ($results as $row):?>
<option value="<?php echo $row['id']; ?>"><?php echo $row['title']; ?></option>
<?php
endforeach;
} else {
?>

<option value="0">No data found</option>
<?php
}
?>

<?php

function getChapters($type)
{
$stmt = $dbh->prepare("SELECT * FROM chapters where type = $type");

$stmt->execute();
$results = $stmt->fetchall(PDO::FETCH_ASSOC);

if (count($results > 0)) {
foreach ($results as $row):?>
<option value="<?php echo $row['id']; ?>"><?php echo $row['title']; ?></option>
<?php
endforeach;
} else {
?>

<option value="0">No data found</option>
<?php
}
}

?>

</select> <br><br>
<input type="submit" value="Submit">


</form>
</body>
</html>

编辑.php

    <?php


$dbh = new PDO('mysql:host=localhost;dbname=airman_handbook', 'siddhi', 'siddhi');

$stmt = $dbh->prepare("SELECT * FROM chapters where type = :type");
$stmt->bindParam("type",$_POST['val']);
$stmt->execute();
$results = $stmt->fetchall(PDO::FETCH_ASSOC);
foreach ($results as $row)
{
echo $row['title'];
}
?>

我在java脚本变量中得到了结果,我如何在php中访问它?或者有什么更简单的方法可以单独保存所有代码并使其正常工作?

请帮忙谢谢..

最佳答案

在 edit.php 中,从 $results 中,制作您想要的格式,如下所示

$chapters='';

if (count($results > 0)) {

foreach($results as $row) {

$chapters.='<option value="'.$row['id'].'">'.$row['title'].'</option>';

}

} else {

$chapters.='<option value="">No data found</option>';

}

echo $chapters;

并在脚本中,将结果放入章节 html 中。

  <script>
function getValue(obj) {
var value = obj.value;
$.ajax({
type: "POST",
url: 'edit.php',
data: {
"val" : value
},
dataType: 'text',
async: false,
cache: false,
success: function (result) {

var results = result;

$('#chapters').html(results);


}
});
}
</script>

希望这有帮助:)

关于javascript - 如何将ajax查询返回的数据显示在下拉列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43182996/

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