У меня небольшая проблема с одной функцией. Работа над приложением кино, в настоящее время на странице бронирования. У меня есть таблица, имитирующая строки и числа. Одна функция меняет цвет сиденья после щелчка (на самом деле двойная, потому что не работает после одного щелчка, не знает почему). Другая функция отвечает за сбор данных, таких как строка и номер, с выделенных мест, чтобы впоследствии их можно было передавать в представления. Вторая функция видит элементы в console.log, но когда я хочу получить цвета фона, она возвращает undefined. Цените любые подсказки.
{% extends "main_templates/main.html" %}
{% load static %}
{% block content %}
<div class="container">
<table class="table table-bordered ">
<tbody>
{% for row in seats_range %}
<tr>
<th scope="row" class="bg-danger">{{row}}</th>
{% for number in seats_range %}
<td class="text-center" style="width:5%;" value="{{row}}" onclick="change_bg(this)"><a href="#"></a>{{forloop.counter}}</a></td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
</div>
<button type="submit" onclick="get_all_fields()">click me</button>
<script>
function change_bg(element){
var color_to_change = "rgb(121, 12, 131)"
$(element).click(()=>{
console.log($(element).attr("value"))
var color_now = $(element).css("background-color")
if (color_now == color_to_change){
color_to_change = "rgb(255, 0, 0)"
}
$(element).css("background-color", color_to_change)
})
}
function get_all_fields(){
var array = []
var color_to_find = "rgb(255, 0, 0)"
$(".table-bordered tbody td").each(()=>{
let element_color = $(this).css("background-color")
if(element_color == color_to_find){
let element_row = $(this).attr("value")
let element_number = $(this).text()
let required_data = [element_row, element_number]
array.push(required_data)
}
})
}
</script>
{% endblock %}