2015-01-06 36 views
0

我遇到了創建級聯選擇框的問題(後端Django - 儘管我認爲這部分大部分工作已完成)。我有以下javascript代碼從此stackoverflow response改編。通過Django中的ajax調用填充選擇框問題

$(document).ready(function(){ 
$('select[name=experiment]').change(function(){ 
    experiment_id = $(this).val(); 
    request_url = '/admin/get_measurements/' + experiment_id + '/'; 
    $.ajax({ 
     url: request_url, 
     success: function(data){ 
      $.each(data, function(){ 
       $('select[name=measurement_a]').append('<option value="' + this.key + '">' + this.value +'</option>'); 
     //   $('select[name=measurement_a]').append($("<option />").val(this.key).text(this.value)) 
      }); 
     }, 
     return: false 
}) 
}) 
}); 

在項目中,我選擇觸發調用「get_measurements」功能,並收到「三圍」應填充測量選擇框列表的實驗。目前,當我選擇的實驗我看到預期的JSON響應:

{1: "MyFirstMeasurment", 2: "MySecondMeasurement"} 

接收的選擇框2個新的選擇不過,測量,它們都有文本「不確定」,而不是「MyFirstMeasurement」和「MySecondMeasurement」 。我猜這在我的代碼中很簡單,謝謝你的幫助,讓我知道你是否需要更多的信息。

+0

假設這樣一個URL'/admin/get_measurements/1'...that應該只返回一個數據集...或沒有? – Hackerman

+0

嗨羅伯特是隻有一個數據集作爲一個字典 – Dennis

+0

顯示在'console.log(數據)成功調用的結果;' – Hackerman

回答

0

事實證明,我需要做一些事情來解決這個問題,感謝您的幫助和提示。這是最終的代碼。

$(document).ready(function(){ 
$('select[name=experiment]').change(function(){ 
    experiment_id = $(this).val(); 
    request_url = '/admin/get_measurements/' + experiment_id + '/'; 
    $.ajax({ 
     url: request_url, 
     success: function(data){ 
      $.each(data, function(key, value){ 

       $('select[name=measurement_a]').append("<option value='" + value + "'>" + value +</option>"); 

      }); 
     }, 
     return: false 
}) 
}) 
}); 
相關問題