マシンのステータスを示すページに多くの画像があります。画像をクリックするとモーダルウィンドウが開き、新しいステータスを選択できます。ステータスは ajax 経由で DB に送信されます。別のマシンのステータスを変更しようとすると、以前のマシンのステータスも変更されます。私が触れたすべてのステータスは、最後に選択したステータスとして毎回再送信されます。
それはどういうわけか私が変更したマシンの配列を作成し、変更するたびにそれらすべてを投稿します。ページを更新すると、配列が空になります。
私unset
はphpで似たようなものを使うか、内側のクリック関数を最初のクリック関数の外に移動する必要があると思います。
$(function() {
$('#mach_status_dialog').hide();
$('.mach_status').click(function(){
var mach = $(this).attr('id');
$('#mach_status_dialog').dialog({
modal: true,
draggable: false,
resizable: false,
width: 500,
title: 'Mach ' + mach + ' status'
});
$('.statuses').click(function(){
var user = user;
var class = $(this).attr('class');
class = class.substring(10);
var status = $(this).first().find('p').parent().text();
var data_string = 'mach=' + mach + '&status=' + status + '&user=' + user;
$.ajax({
url: 'ajax_op_mach_status.php',
type:'POST',
data: data_string,
dataType: 'json',
cache: false,
success: function(response){
var newSrc = 'images/Circle2_'+class+'_25.png';
console.log($('#'+mach+'.mach_status').attr('src', newSrc));
$('#'+mach+'.mach_status').attr('src', newSrc);
$('#'+mach+'.mach_status').attr('title', status);
$( "#mach_status_dialog" ).dialog('close');
}
});
});
});
});