2014-02-14 128 views
0

我有一個選擇框有不同的選項。根據您在第一個選項中選擇的選項,下面會顯示另一個選項,其他選項與您首先選擇的選項相關。我遇到的問題是,當您在第一個選擇中選擇不同的選項時,下面的其他選擇不會被基於您選擇的第一個選項的新選項所取代,而是會顯示一個全新的選擇表單並顯示選項。選擇重複自己。只顯示一個選擇

屁股,你可以看到,我曾嘗試使用.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

嘗試使用somethink這樣的:

 $.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(); 
}); 
+0

我應該在哪裏放呢? – user500468

+0

您應該返回帶有[value,text]對的字典 – melvas