Я получаю некоторые данные из БД и отображаю их пользователям, использующим django-table2. Моему приложению требуется, чтобы пользователь выбирал любую строку и на основании этого я загружаю другую страницу с данными, относящимися к строке, выбранной на последней странице. Чтобы получить эту работу, я использую два скрытых поля, значение которых будет установлено, когда я нажму на какую-нибудь строку и которая будет передана на стороне сервера для дальнейшей обработки.Отключить нажатие на элементы заголовка django-table2
Проблема, с которой я столкнулся, - это когда я нажимаю на строки он устанавливает скрытое поле с правильным значением, но если я нажму на заголовок таблицы, все будет испорчено. Чтобы разрешить запись обратно по щелчку таблице я использовал {{render_table table_name}}
в form
теге ..
Мой tables.py
class testTable(tables.Table): // Have used orderable=False for all the rows
release_date = tables.Column(verbose_name="Release date",orderable=False)
product_name = tables.Column(verbose_name="Product name",orderable=False)
...
class Meta:
orderable = False
Views.py
table = productTable(dic)
table.paginate(page=request.GET.get('page', 1), per_page=5)
params['table'] =table
продукт .html
<div>
<form method="POST" name="form-product-list" action="{% url "product" %}" id="form-product-list" enctype="multipart/form-data">
<input type="hidden" name="prod_ver" value="0" id="prod_ver" />
<input type="hidden" name="release_date" value="0" id="release_date" />
{% render_table table %}
</form>
</div>
Javascript
function addRowHandlers() {
var table = document.getElementById("prod_details");
var rows = table.rows;
for (var i = 0; i < rows.length; i++) {
rows[i].onclick = (function() {
return function() {
$("#prod_ver").val(this.cells[1].innerHTML);
$("#release_date").val(this.cells[0].innerHTML);
};
})(i);
}
}
В настоящее время, когда я нажимаю на любой строке я буду получать prod_ver = 1
и release_date = somedate
, но когда я нажимаю на заголовок я получаю prod_ver = prod_ver
и release_date =release_date
..
Пожалуйста, посмотрите на это и спросить если вам нужно какое-либо разъяснение.
Спасибо за предложение, это помогло мне .. в Java Script Сейчас я использую 'вар таблица = document.getElementById («prod_details»); var tbody = table.tBodies; var rows = tbody [0] .rows; ' –