У меня есть Javascript Calendar в <table id="calendario">
, который позволяет мне манипулировать таблицей с помощью calendario.rows[i].cells[i]
.
Этот календарь позволяет пользователю сделать бронирование и дает возможность закрыть день, когдапользователь чувствует, что у него уже слишком много резервирований.
Я сохраняю его параметр в логической переменной и соответствующей позиции calendario.rows[i].cells[i]
в строке в БД SQL .
Когда я сохраняю один результат запроса в переменной javascript, я могу успешно изменить цвет свойства стиля, но когда я перебираю результирующий массив, на моей странице ничего не меняется.
У меня есть 2 столбца в"reservation"
таблица с именем "Closed"
(которая содержит логическое значение 0 или 1) и "Position"
(которая содержит строку calendario.rows [i] .cells [i])
когда я получаю один результат из массива:
while($row = $result->fetch_assoc()) {
$position = $row["Position"];
}
, тогда я сохраняю его в переменной Javascript:
<script>
var red_day = <?php echo $position; ?>;
</script>
Затем я использую функцию, чтобы изменить стиль и распечатать результат.Для целей тестирования:
<script>
color_red(red_day);
function color_red(position){
position.style.color = "red";
document.getElementById("result").innerHTML = position;
}
</script>
Последний день окрашен в красный цвет, а в «результате» <div>
я получаю [object HTMLTableCellElement]
.
Когда я пытаюсь:
$phparray = array();
while($row = $result->fetch_assoc()) {
$phparray[] = $row["Position"];
}
Затем сохраните его в Javascript и вызовите функцию:
<script>
var jsarray = <?php echo json_encode($phparray); ?>;
result(jsarray){
var text, pLen, i;
pLen = jsarray.length;
text = "<ul>";
for (i = 0; i < pLen; i++) {
jsarray[i].style.color = "red";
text += "<li>" + jsarray[i] + "</li>";
}
text += "</ul>";
document.getElementById("result").innerHTML = text;
}
СейчасЯ не имею ни одной ячейки, закрашенной красным, но я получаю следующий результат в тексте var:
calendario.rows [4] .cells [1]
calendario.rows [5] .cells [5]
Что я делаю не так?