我遇到了一个创建级联选择框的问题(后端Django - 虽然我认为这部分大部分已经解决)。我有以下javascript代码改编自此stackoverflow response。
$(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 :(得分: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
})
})
});