通过 Django 中的 ajax 调用发出填充 select 框的问题
Issue filling select box via ajax call in Django
我在创建级联 select 框时遇到了问题(后端 Django - 虽然我认为这部分大部分已经解决了)。我有以下 javascript 代码改编自此 Whosebug 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
})
})
});
在我的项目中,我 select 一个实验触发了对 "get_measurements" 函数的调用,并收到一个 "measurements" 列表,该列表应该填充测量 select 框。目前,当我 select 实验时,我看到了预期的 json 响应:
{1: "MyFirstMeasurment", 2: "MySecondMeasurement"}
测量 select 框收到 2 个新的 select 离子,但是,它们都有文本 "undefined" 而不是 "MyFirstMeasurement" 和 "MySecondMeasurement"。我猜这在我的代码中很简单,感谢您的帮助,如果您需要更多信息,请告诉我。
原来我需要做一些事情来解决这个问题,感谢您的帮助和提示。这是最终代码。
$(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
})
})
});
我在创建级联 select 框时遇到了问题(后端 Django - 虽然我认为这部分大部分已经解决了)。我有以下 javascript 代码改编自此 Whosebug 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
})
})
});
在我的项目中,我 select 一个实验触发了对 "get_measurements" 函数的调用,并收到一个 "measurements" 列表,该列表应该填充测量 select 框。目前,当我 select 实验时,我看到了预期的 json 响应:
{1: "MyFirstMeasurment", 2: "MySecondMeasurement"}
测量 select 框收到 2 个新的 select 离子,但是,它们都有文本 "undefined" 而不是 "MyFirstMeasurement" 和 "MySecondMeasurement"。我猜这在我的代码中很简单,感谢您的帮助,如果您需要更多信息,请告诉我。
原来我需要做一些事情来解决这个问题,感谢您的帮助和提示。这是最终代码。
$(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
})
})
});