У меня есть следующий код jQuery для выполнения, когда я нажимаю кнопку
$('#substat').click(function() {
$.post('ext/engine.php', post, function(data){
$('#statout').empty().append(data).dialog(
{height:350, width:700, dialogClass: 'shadowme', position: 'center'})
});
});
ОБНОВЛЕНИЕ - Я проверил код за кодом, чтобы увидеть, где проблема. Как это выглядит, это PHP-часть, которая выглядит следующим образом:
$html = '<script>';
for($s = 0; $s < $m; $s++) {
if ($m-$s != 1) { $var1 .= $out[total][$s].', '; $var2 .= $out[age][$s].'", "'; }
else { $var1 .= $out[total][$s]; $var2 .= $out[age][$s].'"';}
if ($out[total][$s] > $max) { $max = $out[total][$s]; }
}
if ($max > 10) { $max = round($max/10); }
$html .= 'VarH = ['.$var1.'];
plot1 = $.jqplot("statout", [VarH], {
legend:{show:true, location:"ne"},
title:"Gente",
series:[ { label:"VarH", renderer:$.jqplot.BarRenderer } ],
axes:{
xaxis:{ renderer:$.jqplot.CategoryAxisRenderer, ticks:['.$var2.'] },
yaxis:{ min:0, tickInterval:'.$max.', autoscale: true }
},
seriesDefaults:{ lineWidth:5, rendererOptions: { barWidth:5, barMargin:5, barPadding:0 } }
});
</script>';
echo $html;
Если я изменю последнюю строку с echo $ html; на echo "Hello"; , это всегда будет работать.
Но если я оставлю это с переменной $ html, созданной с помощью jqplot, она будет работать только один раз при рендеринге в диалоге jquery. После этого мне нужно обновить страницу, чтобы она снова заработала, вместо того, чтобы просто нажать кнопку «Отправить» снова, чтобы создать диалоговое окно с графиком.