我有一个包含不同选项的选择框。根据您在第一个选项中选择的选项,下面显示另一个选项,其中包含与您首先选择的选项相关的其他选项。我遇到的问题是,当您在第一个选择中选择其他选项时,下面的另一个选项不会替换为您选择的第一个选项的新选项,而是显示带有选项的全新选择表单。选择重复本身。
你可以看到,我试过使用.empty(),但是它不起作用..
我希望你理解我: - )
$(document).ready(function() {
var selected_value = '';
$('.type_of_connection').change(function() {
selected_value = $(this).val();
$('.content').not("#" + selected_value).hide();
$("#" + selected_value).fadeIn();
});
$('.supercustomer').change(function(evt) {
$('#show_switch').empty();
var supercustomer_id = $(this).val();
$.get('show_switch.php', {supercustomer_id: supercustomer_id}, function(html){
$("#" + selected_value).append(html);
}, "html"); //Använder ID:et på superkunden i show_switch.php för att hämta rätt switch
evt.preventDefault();
});
});
show_switch.php
<?php
if(isset($_GET['supercustomer_id']))
{
include("../../include/dblayer.class.php"); //Temporär lösning. När show_switch.php anrops, så finns inte $link tillgänglig. Därför finns detta.
$link = new dbLayer("root", "", "localhost", "kundadmin");
$supercustomer_id = $_GET['supercustomer_id'];
$query_sw = "SELECT * FROM switch WHERE superkund_id=$supercustomer_id";
?>
<div id="show_switch">
<label name="switch">Switch:</label><select name="switch" class="switch">
<?php
while($row=$link->get_object($query_sw, 99)){
print'<option value="'.$row->switch_id.'"';
if($row->switch_id == $supercustomer_id)
print' selected';
print'>'.$row->gatuadresser.'</option>';
}
?>
</select>
</div>
<?php
}
?>
答案 0 :(得分:0)
尝试使用这样的东西:
$.getJSON('url', { id: dataId, rnd: Math.random() }, function (data) {
$(target).empty();
if (data != null) {
var list = data.List;
$.each(list, function (index, itemData) {
$(target).append($('<option/>', { value: itemData.Value, text: itemData.Text }));
});
}
$(target).change();
});
<强>编辑:强>
$('.supercustomer').change(function(evt) {
var supercustomer_id = $(this).val();
$.getJSON('show_switch.php', {supercustomer_id: supercustomer_id}, function(html) {
$('#show_switch').empty();
if (html != null) {
var list = html.List;
$.each(list, function (index, itemData) {
$('#show_switch').append($('<option/>', { value: itemData.Value, text: itemData.Text }));
});
}
$('#show_switch').change();
});
evt.preventDefault();
});