0
我有3个选择菜单 - 产品,主题和子主题。选择全部三项将显示所选内容的常见问题解答。那部分工作正常。我的问题是,一旦选择了3个常见问题解答并显示,如果用户返回并选择另一个产品,则下面的菜单和文本将保留在那里。我希望他们消失。我已经尝试了$(。'div')。hide()在几个位置,无济于事。谈到AJAX,我有点儿绿色。这里是我的代码:清除页面/菜单更改菜单 - php/AJAX
$(document).ready(function() {
$('.box').hide();
$('#product').on('change', function() {
$('.box').hide();
$('#'+$(this).val()).show();
});
$('#topic').on('change', function() {
var sel = $(this).find('option:selected').text();
$.ajax({
url: "support_process.php",
type: "POST",
data: {info : sel},
success: function(data) {
$(".divtopic").html(data);
}
});
});
$('body').on('change', '#subtopic', function(){
var sel = $(this).find('option:selected').text();
$.ajax({
url: "subtopic_process.php",
type: "GET",
data: {info : sel},
success: function(data) {
$(".divsubtopic").html(data);
}
});
});
});
和HTML:
<div class="styled-select">
<select id="product">
<option value="option0">Select product...</option>
<?php
while ($row = mysqli_fetch_array($sql))
{
$name = $row['name'];
echo "<option value=\"option$count\">" . $name . "</option>";
$count++;
}
?>
</select>
</div>
<div id="option1" class="box">
<div class="content">
<?php
$sql = mysqli_query($dbConnection, "SELECT t.id, t.topic FROM topic t JOIN product p ON p.id = t.p_id WHERE p.name='Hello'");
?>
<div class="styled-select">
<select name="topic" id="topic">
<option value="optiont0" selected="selected">Select a topic for Hello...</option>
<?php
while ($row = mysqli_fetch_array($sql))
{
echo "<option value=\"optiont$count\" name=\"topic[]\">" . $row['topic'] . "</option>";
$count++;
}
?>
</select>
</div>
<div class="divtopic"></div>
<div class="divsubtopic">
</div>
</div>
</div>
TIA对您有所帮助。
我在HTML中看不到'$(#product)'元素。 – Manolo
添加了产品元素。 –
你有没有CSS规则:'.box {display:whatelse!important;}'? – Manolo