Я отредактировал мой код, см. Ниже:Javascript/PHP Array
Я пытаюсь сделать массив со временем enroute. $ distance работает правильно.
Теперь «ete» дает этот результат для каждой ноги: NaN Hrs. NaN Mins.
Я заменил дистанцию 1500, и она выплевывает результат. Это заставляет меня поверить в это [new Array();] - проблема.
Я еще некоторое копал var distance = new Array (""); дает мне этот результат: 431 910 746 923 Означает ли это, что implode не работает?
<script type="text/javascript">
var distance = new Array(<?=implode(', ', $distance)?>);
function Aircraft() {
var mylist = document.getElementById("myList");
for(var i = 0; i < distance.length; i++) {
var hour = (Math.floor(1500/mylist.options[mylist.selectedIndex].value));
var minute = Math.round((Math.round(1500/mylist.options[mylist.selectedIndex].value) - hour) * 60);
document.getElementById("ete" + i).innerHTML = hour + " Hrs. " + minute + " Mins.";
}
}
</script>
Мы становимся ближе, я думаю ...
$distance = array();
for($i = 0, $size = sizeof($Row1); $i < ($size - 1); ++$i){
$distance[$i] = ROUND((ACOS(SIN($Row2[$i][4] * PI()/180) * SIN($Row1[$i][4] * PI()/180) + COS($Row2[$i][4] * PI()/180) * COS($Row1[$i][4] * PI()/180) * COS(($Row2[$i][5] - $Row1[$i][5]) * PI()/180)) * 180/PI()) * 60);
echo "<td width=100>" . $distance[$i] . " NM</td>";
echo "<td width=100><span id=\"ete" . $i . "\"></span></td>";
}
?>
<script type="text/javascript">
var distance = new Array(<?=implode(', ', $distance)?>);
function Aircraft() {
var mylist = document.getElementById("myList");
for(var i = 0; i < distance.length; i++) {
var hour = (Math.floor(distance/mylist.options[mylist.selectedIndex].value));
var minute = Math.round((Math.round(distance/mylist.options[mylist.selectedIndex].value) - hour) * 60);
document.getElementById("ete" + i).innerHTML = hour + " Hrs. " + minute + " Mins.";
}
}
Вот где Aircraft() используется:
<select id=\"myList\" style=\"width:150px;\" onchange=\"Aircraft()\">
<option>Select Aircraft</option>
<option value=\"300\">King Air 350</option>
<option value=\"450\">G-V</option>
<option value=\"470\">GLEX</option>
<option value=\"350\">Astra</option>
</select>
Что вы пытаетесь сделать? – Starx
Массив для $ distance работает на столько ног, сколько я добавляю. Но «ete» только возвращает время для самой последней ноги. Итак, это говорит о том, что массив не настроен должным образом. Любые идеи о том, как это сделать правильно? –
Вместо этого PHP вы можете показать фактические визуализированные HTML и JavaScript? –