В настоящее время то, что я кодировал, работает, но кажется довольно грубым.В основном вот что у меня есть (упрощенно):
JQuery ready:
<script type="text/javascript">
$(document).ready(function() {
$('div.partDelete').click(function() {
// TODO this seems like a dirty hack
var split = this.id.split('_');
if(split.length == 3) {
$('#part_id').val(split[0]);
alert($('#part_id').val());
$('#removePartForm').submit();
} else {
alert('There was a problem removing the selected part');
}
});
</script>
Используемая форма:
<form id="removePartForm" action="{% url remove_part %}" method="post">
<input type="hidden" id="part_id" name="part_id" value="-1" />
{% for part in current_build.parts.all %}
<div id="{{ part.id }}_part_id" class="partDelete">remove</div>
{% endfor %}
</form>
Все, что я пытаюсь сделать,установите скрытый ввод, чтобы взять part.id, который был выбран пользователем, чтобы я мог использовать его в своих представлениях.
Насколько я знаю, это правильный путь, но я простоесть чувство, что это не так.Я новичок в Django & JQuery, поэтому для этого могут быть встроенные функции, которых я еще не нашел.
Спасибо за любые предложения, которые у вас могут быть!ответ ниже)
Javascript:
$('div.partDelete').click(function() {
var selected_id =$(this).data("id");
$('#part_id').val(selected_id);
$('#removePartForm').submit();
});
HTML изменения:
<div class="partDelete" data-id="{{ part.id }}">remove</div>