Измените атрибуты Id и name, уменьшив индекс в каждой строке

Мне нужно передать список, основанный на пользовательском вводе, из моего представления в контроллер. Я создал таблицу с помощью javascript, используя скрытый ввод в каждой строке, увеличивая индекс в атрибутах id и name по мере добавления пользователем в список. Проблема в том, что я не могу понять, как уменьшить индекс каждого идентификатора и имени, если пользователь решает удалить элемент. Я плохо разбираюсь в javascript ... Надеюсь, вы понимаете мое объяснение.

Это моя таблица.

    <table id = "cat-table" class = "table table-responsive">
        <thead>
            <tr>
                <th>Num Control</th>
                <th>Usuario</th>
                <th></th>
            </tr>
        </thead>
        <tbody id = "tbody">

        </tbody>
    </table>

Вот как я печатаю каждую строку.

 $("#tbody").append("<tr  id='filaUsuario" + usuario.id + "' ><td><input name='Usuario[" + i + "].UsuarioId' type='hidden' id='Usuario[" + i + "].UsuarioId' type='hidden'  value='" + usuario.id + "' />" + usuario.id + "</td><td>" + usuario.name + "</td><td> <button type='button' class='btn btn-default' name = 'btn-Quitar' id = 'btn-Quitar' onclick= eliminar('" + i + "','"+ usuario.id +"') value='" + i + "'>Quitar</button></td></tr>");

И вот как я пытаюсь уменьшить оставшиеся элементы

     function eliminar(valor, usuario) {
        //$("#filaUsuario" + usuario).remove();

        $("#tbody tr").find("td:first").find("input").removeAttr("id");
        $("#tbody tr").find("td:first").find("input").attr("id", "Usuario['"+ 
      --i +"'].UsuarioId");

     }

Зачем менять id? Как узнать, какие данные вводятся пользователем, когда идентификатор меняется каждый раз? Почему бы просто не сохранить все элементы списка в массиве и установить новый идентификатор равным длине массива? Тогда вы можете оставить все идентификаторы одинаковыми, и удаление строки станет тривиальным.

Shilly 02.08.2018 16:16

id не имеет значения и должен быть удален. Если вы хотите динамически добавлять и удалять элементы, обратитесь к Отправить в контроллер данные одного и того же частичного представления, вызываемого несколько раз? (а для подробной реализации с использованием BeginCollectionItem см. Частичное представление, передающее коллекцию с помощью помощника Html.BeginCollectionItem)

user3559349 03.08.2018 01:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
40
0

Другие вопросы по теме