我在这里遇到了一个死胡同。我试图在我的ajax函数中使用JQuery load()函数重新加载下拉菜单,我似乎无法正确使用它。问题基本上是CSS样式和Javascript。
让我们说我做了一个ajax调用,将用户添加到我的数据库,并希望使用load
功能在同一页面的下拉菜单中显示该用户。我尝试了一种有效的方法,它正确地更新了下拉列表但是我的页面样式中断了,因为它丢失了从styles.css
加载的<head>
文件中的所有样式。现在我已经四处寻找了一些解决方案,但除了它是Ajax的缺点之外,我无法找到它。
我无法弄清楚解决这个问题的正确方法。任何想法,将不胜感激。
这是我的代码片段:
PHP / HTML
<!-- PHP codes up here which has my DB config, initiated the PDO, some html, etc -->
<div id='checkoutProcedure'>
<!-- Some divs here which are unrelated to the problem -->
<div id='clients'>
<form id="clientSelect" name="clientSelect" method="post" action="">
<span class="plain-select">
<select name="select_client" id = "select_client">
<option value="Select Client" selected>Select Client</option>
<?php
$sql3 = "SELECT `a`, `b`, `c` FROM `table` ORDER BY `a` ASC;";
$stmt3 = $con->prepare($sql3);
$stmt3->execute();
while($row = $stmt3->fetch())
{
if(isset($_POST['client']) && $_POST['client'] == $row[1])
{
echo '<option selected="selected" id="user_id-{$row[0]}" value="' . utf8_encode($row[2]) . '">' . utf8_encode($row[2]) . '</option>';
}
else
{
echo '<option id="user_id-{$row[0]}" value="' . utf8_encode($row[2]) . '">' . utf8_encode($row[2]) . '</option>';
}
}
?>
</select>
</span>
</form>
</div>
</div>
Ajax load()代码段
success:function(response){
$('#checkoutProcedure').load('user.php #checkoutProcedure');
}