Что не так с моими основными свойствами стиля через массив json_encode? - PullRequest
0 голосов
/ 06 июня 2019

У меня есть 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]

Что я делаю не так?

1 Ответ

0 голосов
/ 06 июня 2019

Кажется, вы вызываете color_red () перед его определением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...