我有一个chatjs条形图,我在其中定义了一个在其中有ajax调用的click事件。点击我也试图获得一个下拉菜单和单选按钮的值,这两个菜单都是bootstrap元素。
document.getElementById("myChart").onclick = function(evt) {
var activeElement = myChart.getElementAtEvent(evt);
var clickedElementIndex = activeElement[0]._index;
var stype = myChart.data.labels[clickedElementIndex];
$('.dropdown-menu a').find(function() {
var mname = ($('#selected').text());
});
var listoption = ($('input[name=radioname]:checked', '#radioform').val());
$.ajax({
url: "{% url 'updatesession' %}",
data: {
stype: stype,
listoption: listoption,
mname: mname
},
success: function(data) {
window.location = "{% url 'results' %}";
}
});
}
但我遇到的问题是在填充mname变量之前执行了ajax调用。然而,listoption变量确实已填充。如何在我的ajax调用之前填充变量。提前谢谢。
答案 0 :(得分:0)
您可以尝试将ajax放入下拉菜单的功能中,如下所示:
$('.dropdown-menu a').find(function(){
var mname=($('#selected').text());
$.ajax(
{
url: "{% url 'updatesession' %}",
data:{
stype : stype,
listoption : listoption,
mname : mname
},
success: function( data )
{
window.location = "{% url 'results' %}";
}
});
});
var listoption=($('input[name=radioname]:checked', '#radioform').val());