私は、それぞれ異なる引数を渡して次の関数を呼び出す複数のドロップダウンを持っています 1つのドロップダウンを変更して応答を待つ場合、 最初の応答の前に2番目のドロップダウンを変更すると、最初のコールバックが呼び出されないかのように表示されます。 (しかし、データベース内のデータは変更されています)AJAX同じ関数からの複数の呼び出し、いくつかのコールバックが機能しない
<script type="text/javascript">
<!--
function fg_insert_pick(element, team_id, tournament_id, pick_number) {
golfer_id = element.value;
golfer_name = element.options[element.selectedIndex].text;;
parent = element.parentNode;
parent.removeChild(element);
parent.innerHTML="submitting pick ...";
path = "'.plugins_url('fantasy-golf/submit/pick.php').'";
post = "team_id="+team_id+"&tournament_id="+tournament_id+"&pick_number="+pick_number+"&golfer_id="+golfer_id;
parent.innerHTML="submitting pick ...";
fg_ajax_request(path, post, function(response) {
if (response) {
parent.innerHTML=golfer_name;
} else {
parent.innerHTML="Something went wrong, please reload the page";
}
});
}
function fg_ajax_request(url, post, callback) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange= function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
callback(xmlhttp.responseText);
}
}
xmlhttp.open("POST",url,true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(post);
}
//-->
</script>
あなたの 'parent.innerHTML = golfer_name;'は同じ要素を更新していますか?すべてのドロップダウンには個別の親要素がありますか? –
ドロップダウンがテーブル内にあり、それぞれが異なる要素にあります。ビンゴ。 –