Я использую DataTables (https://datatables.net/). При щелчке по каждой строке значение столбца ID
должно быть передано в качестве первичного ключа для открытия формы обновления.
Все работает нормальноза исключением передачи переменной javascript в URL-адрес django.
var adresid = 0
$('.dt-edit').each(function () {
$(this).on('click', function(evt){
$this = $(this);
adresid = parseInt($this.parents('tr')[0].cells[13].innerHTML)
})
.modalForm({
formURL: "{% url 'adres-update-modal' adresid %}"
});
});
Я пытался использовать метод .replace()
как formURL: "{% url 'adres-update-modal' pk %}".replace('pk', adresid)
, но это не сработало.
Это ошибкачто я продолжаю получать:
Обратное для 'adres-update-modal' с аргументами '(' ',)' не найдено. 1 шаблон (ы) пробовал: ['adres / (? P [0-9] +) / updatemodal / $ ']
Когда я заменяю adresid
в URL на целое число (например, 16
), все работает отлично.
Любая помощь будет оценена
РЕДАКТИРОВАТЬ: вот HTML-код моей таблицы
<table id="masterTable" class="table nowrap" style="width:100%">
<thead>
<tr>
<th></th>
<th></th>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
<th>E</th>
<th>F</th>
<th>G</th>
<th>H</th>
<th style="text-align:center;width:100px;">Add adres <button type="button" data-func="dt-add" class="btn btn-success btn-xs dt-add modal-adres-create">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
</button></th>
<th class="none">I</th>
<th class="none">J</th>
<th class="none">K</th>
<th class="none">L</th>
<th class="none">M</th>
</tr>
</thead>
<tbody>
{% for X in Y %}
{% for P in Q %}
{% if X.Z == U %}
<tr>
<td></td>
<td></td>
<td>A</td>
<td>B</td>
<td>C</td>
<td>D</td>
<td>E</td>
<td>F</td>
<td>G</td>
<td>H</td>
<td>
<button type="button" class="btn btn-primary btn-xs dt-edit" style="margin-right:16px;">
<span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
</button>
<button type="button" class="btn btn-danger btn-xs dt-delete">
<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
</button>
</td>
<td>I</td>
<td>J</td>
<td>K</td>
<td>L</td>
<td>M</td>
</tr>
{% endif%}
{% endfor %}
{% endfor %}
</tbody>
</table>
РЕДАКТИРОВАТЬ 2: Чтобы уточнить, когда я использую console.log(adresid)
, он возвращает целое число со значением16
. Поэтому я не ожидаю, что проблема будет где-то еще, кроме той части javascript, где это значение должно быть передано значению formURL
.