如何通过AJAX请求为用于动态内容的下拉列表设置默认值

如何通过AJAX请求为用于动态内容的下拉列表设置默认值,ajax,dynamic,default,dropdown,Ajax,Dynamic,Default,Dropdown,我没有AJAX和javascript方面的经验,目前正在尝试创建一个动态下拉列表,该列表应能解决以下问题: 用户可以从下拉列表中选择请求是针对1名还是2名学生。如果他没有选择任何内容,则仅为1名学生显示内容。如果他选择2名学生,则应显示2名学生的内容,而不是1名学生的内容。现在的问题是,我知道如何设置一个动态下拉列表,以及如何调用动态内容,但我不知道如何动态替换内容,这意味着如果用户没有选择任何内容,则当前不会显示任何内容。我还尝试通过user.php中设置的会话进行设置,但我不知道如何通过AJ

我没有AJAX和javascript方面的经验,目前正在尝试创建一个动态下拉列表,该列表应能解决以下问题:

用户可以从下拉列表中选择请求是针对1名还是2名学生。如果他没有选择任何内容,则仅为1名学生显示内容。如果他选择2名学生,则应显示2名学生的内容,而不是1名学生的内容。现在的问题是,我知道如何设置一个动态下拉列表,以及如何调用动态内容,但我不知道如何动态替换内容,这意味着如果用户没有选择任何内容,则当前不会显示任何内容。我还尝试通过user.php中设置的会话进行设置,但我不知道如何通过AJAX请求进行设置

我目前正在使用此选项,用于显示下拉列表和内容的页面:

<p>How many students? <br />
<select name="numberstudents" id="user-select">
<option value="1">1 student</option>
<option value="2">2 students</option>
</select>
</p>

// This is where the content from user.php should be displayed:

<div id="user-profile"></div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="js/global.js"></script>
以及user.php,其中包含AJAX请求应在带有主窗体的页面上显示的内容。如果选择了1名或2名学生,则应按照“如果请求”进行询问,如果选择了2名学生,则应显示一个下拉列表或两个下拉列表。问题是,如果未选择任何内容,它将不显示任何内容:

<?php
// Connection to the DB and get the input for the dropdown list(s)
$dsn = "xxx";
$user = "xxx";
$pw = "xxx";

try {
$pdo = new PDO($dsn, $user, $pw);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}

$classQuery = "SELECT class_id, class FROM classes";

$classes = $pdo->query($classQuery);
?>

// And the if-request if 1 student or 2 students are selected, thus showing either 1 or 2 dropdowns     

if ($_GET['numberstudents'] == "2") {
?>

<p>Which classes do the students visit?<br />

<select name="class1">
<option value="">Student 1 visits the..</option>
<?php foreach ($classes->fetchAll() as $class){ ?>
  <option value="<?php echo $class['class_id']; ?>"><?php echo $class['class']; ?></option>
<?php } ?>
</select><br />

<select name="class2" >
<option value="">Student 1 visits the..</option>
<?php foreach ($classes->fetchAll() as $class){ ?>
  <option value="<?php echo $class['class_id']; ?>"><?php echo $class['class']; ?></option>
<?php } ?>
</select>
</p>

<?php
}
else
{
?>
<p>Which class does the student visit?<br />
<select name="class1">
<option value="">Please select a class..</option>
<?php foreach ($classes->fetchAll() as $class): ?>
  <option value="<?php echo $class['class_id']; ?>"><?php echo     $class['class']; ?></option>
<?php endforeach; ?>
</select>
</p>
<?php
}
?>

//如果选择了1名学生或2名学生,则if请求将显示1或2个下拉列表
如果($_GET['numberstudents']=“2”){
?>
学生参观哪些班级?
学生1参观。。
学生1参观。。

学生参观哪个班级?
请选择一个类。。


请原谅我的错误,将代码翻译成英语,这样更容易理解。

我只会使用php以数组形式返回数据,然后在ajax请求的成功回调中构建select选项。可能想看看抱歉,我是javascript和ajax的新手,实际上刚刚获得了我只需要区分1个或2个下拉列表的显示,我认为在你提供的链接中,它是关于在一个下拉列表中添加更多选择选项,对吗?如果我弄错了,很抱歉。我在这里变得非常绝望。。
<?php
// Connection to the DB and get the input for the dropdown list(s)
$dsn = "xxx";
$user = "xxx";
$pw = "xxx";

try {
$pdo = new PDO($dsn, $user, $pw);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}

$classQuery = "SELECT class_id, class FROM classes";

$classes = $pdo->query($classQuery);
?>

// And the if-request if 1 student or 2 students are selected, thus showing either 1 or 2 dropdowns     

if ($_GET['numberstudents'] == "2") {
?>

<p>Which classes do the students visit?<br />

<select name="class1">
<option value="">Student 1 visits the..</option>
<?php foreach ($classes->fetchAll() as $class){ ?>
  <option value="<?php echo $class['class_id']; ?>"><?php echo $class['class']; ?></option>
<?php } ?>
</select><br />

<select name="class2" >
<option value="">Student 1 visits the..</option>
<?php foreach ($classes->fetchAll() as $class){ ?>
  <option value="<?php echo $class['class_id']; ?>"><?php echo $class['class']; ?></option>
<?php } ?>
</select>
</p>

<?php
}
else
{
?>
<p>Which class does the student visit?<br />
<select name="class1">
<option value="">Please select a class..</option>
<?php foreach ($classes->fetchAll() as $class): ?>
  <option value="<?php echo $class['class_id']; ?>"><?php echo     $class['class']; ?></option>
<?php endforeach; ?>
</select>
</p>
<?php
}
?>