只显示一个选择

时间:2014-02-14 13:04:59

标签: jquery

我有一个包含不同选项的选择框。根据您在第一个选项中选择的选项,下面显示另一个选项,其中包含与您首先选择的选项相关的其他选项。我遇到的问题是,当您在第一个选择中选择其他选项时,下面的另一个选项不会替换为您选择的第一个选项的新选项,而是显示带有选项的全新选择表单。选择重复本身。

你可以看到,我试过使用.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
    }
    ?>

1 个答案:

答案 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();
});