Как сделать каждую строку в #list кликабельной - PullRequest
0 голосов
/ 04 ноября 2019

Здравствуйте, извините за мой английский, я новичок в freemarker и Js. Как сделать каждую строку в #list активируемой по идентификатору. Поэтому, когда он щелкнет, он отправит мне изменить форму для этого идентификатора:

function addRowHandlers() {
     var table = document.getElementById(show);
    var rows = table.getElementsByTagName("tr");
    for (i = 0; i < rows.length; i++) {
        var currentRow = table.rows[i];
        var createClickHandler = function(row) {
            return function() {
                var cell = row.getElementsByTagName("td")[0];
                var id = cell.innerHTML;
                alert("id:" + id);
            };
        };
        currentRow.onclick = createClickHandler(currentRow);
    }
 }

Это мой шаблон списка ftl:

<table border="1" id="tableId">
    <tr>
        <th>First Name</th>
        <th>Last Name</th>
    </tr>
    <#list users as show>
        <tr>
            <td>${show.firstName!""}</td>
            <td>${show.lastName!""}</td>
        </tr>
    </#list>

Я ожидаю нажатьстрока в моей форме, и он отправит меня на редактирование страницы в соответствии с каждым идентификатором. Но я не могу назначить идентификатор для каждой строки. Спасибо!

Ответы [ 2 ]

0 голосов
/ 04 ноября 2019

Используйте href для перехода на другую страницу:

HTML :

<#list users as show>
<tr href="http://google.com">
    <td>${show.firstName!""}</td>
    <td>${show.lastName!""}</td>
</tr>

Или HTML-версия с data-href вместоhref:

<#list users as show>
<tr data-href="http://google.com">
    <td>${show.firstName!""}</td>
    <td>${show.lastName!""}</td>
</tr>

0 голосов
/ 04 ноября 2019

Вы можете сделать это, используя класс для каждой строки, например

<#list users as show>
    <tr>
        <td class="abc">${show.firstName!""}</td>
        <td class="abc">${show.lastName!""}</td>
    </tr>
</#list>
$('.abc').click(function(){});

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...