Django строка таблицы ссылок для просмотра - PullRequest
0 голосов
/ 21 апреля 2020

плохо знаком с кодированием. Я создаю инвентарную таблицу с каркасом django. Я хотел бы иметь возможность щелкнуть строку таблицы (которая является частью), которая затем проанализирует эту строку / информацию о детали в подробном представлении. насколько я понимаю, строки таблицы являются встроенными элементами, а встроенные элементы - псевдо-кодом, который в настоящее время HTML не позволяет добавлять тег привязки (плохая практика?), поэтому мне нужно использовать некоторые javascript. В настоящее время представление инвентаря показывает, когда я использую сервер запуска (http://127.0.0.1: 8000 / inventory / ), но нажатие на любую строку ничего не делает. Вот что у меня есть: инвентарь

. html

{% extends "base.html" %}

{% block body %}

<br>

<table class="table table-hover">
    <thead>
    <tr>
        <th>Part Number</th>
        <th>Description</th>
        <th>Location</th>
        <th>Supplier</th>
        <th>S.O.H</th>
    </tr>
    </thead>

    <tbody>

    {% for part in parts %}
    <!-- need to make these table rows link to their respective parts
    class="table_row" href="{{ selected_part.partnumber }}/detail">{{ selected_part.partnumber }}-->

    <tr data-href="{% url 'detail' part.pk %}">
        <td>{{ part.pk }}</td>
        <td>{{ part.partnumber }}</td>
        <td>{{ part.description }}</td>
        <td>{{ part.location }}</td>
        <td>{{ part.supplier }}</td>
        <td>{{ part.stockonhand }}</td>
    </tr>

    {% endfor %}

    </tbody>

</table>

{% endblock %}

urls.py

from django.urls import path
from .views import *

urlpatterns = [
    path('inventory/', inventory_list, name='inventory'),  # URL path for inventory_list view
    path('<str:pk>/', part_information, name='detail'),
    path('', index, name='index'),
]

custom. js

$('tr[data-href]').on("click", function() {
    document.location = $(this).data('href');
});

base. html имеет <script src="/docs/4.4/dist/js/custom.js"></script> перед тегом </body>.

Я думаю, что проблема в моем файле javascript. Я новичок в этом, и я буду благодарен за упрощенные объяснения

1 Ответ

0 голосов
/ 21 апреля 2020

Используйте ниже в вашем файле. js. Когда страница загружается, эта функция $ (document) .ready () запускается, инициализируя запрос о том, что делать «по щелчку»

    $(document).ready(function(){
      $('table tr').click(function(){
        window.location = $(this).data('href');
        return false;
      });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...