Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как переназначить id всех элементов <input> в форме при добавление нового <input> (https://javascript.ru/forum/dom-window/56957-kak-perenaznachit-id-vsekh-ehlementov-input-v-forme-pri-dobavlenie-novogo-input.html)

рони 16.07.2015 16:52

Цитата:

Сообщение от Sigizmund2012
Краткостью и экономией ресурсов, да и быстрее нативный метод. detach() работает с коллекцией jquery, а не напрямую с элементом. И да, библиотеку подключать надо.

не кормите троля :lol:

Эдди 16.07.2015 17:13

Цитата:

Сообщение от рони (Сообщение 380004)
можно, достаточно removeChild

На тупых ведь не обижаются. :) (мне наплевать, тупой я или острый, лишь бы скрипт доделать) :)
Как так? Ссылку на объяснение дашь?

Эдди 16.07.2015 17:16

kostyanet Я сомневался. Но laimas пральнА сказал. Кшы и не превращай уважаемый форум в помойку. Про обезьян - это на Animal Planet.

Эдди 16.07.2015 17:17

рони. Все же jQuery?
Я этот простой скрипт на простом JS написать. Не судьба? :)

рони 16.07.2015 17:57

Эдди,
ненужен jQuery, без него можно

Sigizmund2012 16.07.2015 18:09

Цитата:

Сообщение от Эдди (Сообщение 380022)
рони. Все же jQuery?
Я этот простой скрипт на простом JS написать. Не судьба? :)

<style>
    #table td{
        border: 1px solid gray;
        padding: 5px;
    }
</style>
<table id="table">
    <tbody id="table__body">
    <tr>
        <td>item_1</td>
        <td>item_2</td>
        <td>item_3</td>
        <td>item_4</td>
    </tr>
    <tr>
        <td>item_1</td>
        <td>item_2</td>
        <td>item_3</td>
        <td>item_4</td>
    </tr>
    <tr>
        <td>item_1</td>
        <td>item_2</td>
        <td>item_3</td>
        <td>item_4</td>
    </tr>
    <tr>
        <td>item_1</td>
        <td>item_2</td>
        <td>item_3</td>
        <td>item_4</td>
    </tr>
    <tr>
        <td>item_1</td>
        <td>item_2</td>
        <td>item_3</td>
        <td>item_4</td>
    </tr>
    </tbody>
</table>
<button id="add">Add row</button>
<button id="remove">Remove row</button>
<script>
var tableBody = document.getElementById('table__body');
var addBtn = document.getElementById('add');
var removeBtn = document.getElementById('remove');
var removeTr;

removeBtn.onclick = function(e){
    removeTr = tableBody.removeChild(tableBody.lastElementChild);
};
addBtn.onclick = function(e) {
    var clone;
    if (removeTr) {
        tableBody.appendChild(removeTr);
        removeTr = null;
    }
    else{
        clone = tableBody.lastElementChild.cloneNode(true);
        tableBody.appendChild(clone);
    }
};
</script>

Что-то типа такого. Допиливать под себя придётся конечно. В принципе ноду можно не клонировать, оставить только if, тогда добавляться в таблицу будет последняя удалённая строка.

Sigizmund2012 16.07.2015 18:20

Цитата:

Сообщение от рони
не кормите троля

Я сомневаюсь, что он тролль, слишком уж тупой и толстый.

рони 16.07.2015 18:48

пример ниже просто демонстрация сохранения удалённого ... ставить галочки в checkbox.
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
   <form action="http://">
   <input name="" type="text" id="check1" value="111"><input name="" type="checkbox" data-id="1"><br>
   <input name="" type="text" id="check2" value="222"><input name="" type="checkbox" data-id="2"><br>
   <input name="" type="text" id="check3" value="333"><input name="" type="checkbox" data-id="3"><br>
   </form>
   <script>
var removeHid = function() {
    var temp = {};
    return function(id) {
        id = "check" + id;
        var elem = document.getElementById(id);
        if (elem) {
            temp[id] = [elem, elem.parentNode, elem.nextSibling];
            elem.parentNode.removeChild(elem);
        } else {
            elem = temp[id][0];
            if (elem) temp[id][1].insertBefore(elem, temp[id][2])
        }
    }
}();
var form = document.querySelector("form");
form.onclick = function(event) {
    var id = event.target.dataset.id;
    id && removeHid(id)
};
   </script>
</body>

</html>

kostyanet 16.07.2015 19:02

Цитата:

Сообщение от Эдди
Про обезьян - это на Animal Planet.

Это - баттхерт. Но пройдет несколько недель и вы молча или с помощью другого форума начнете со страшным скрипом ломать и переделывать свою колхозную датагрядку по требованию операторов при поддержке заказчика, хотелки которых растут экспоненциально любым улучшениям и сервису в интерфейсе.

Я много раз это имел и любой подтведит что улучшение на 10% влечет увеличение хотелок следующего улучшения на 30% тире 40%, а то и все 50%.

Ну да, никогда не говори никогда.

Эдди 17.07.2015 15:05

Цитата:

Сообщение от kostyanet (Сообщение 380051)
Это - баттхерт. Но пройдет несколько недель и вы молча или с помощью другого форума начнете со страшным скрипом ломать и переделывать свою колхозную датагрядку по требованию операторов при поддержке заказчика, хотелки которых растут экспоненциально любым улучшениям и сервису в интерфейсе.

Я много раз это имел и любой подтведит что улучшение на 10% влечет увеличение хотелок следующего улучшения на 30% тире 40%, а то и все 50%.

Ну да, никогда не говори никогда.

И откуда ты такой взялся на этом форуме?
До сих пор мне здесь такие не попадались.
Вроде, приличные все люди.

Есть соц. сети. Вон там можно выливать свою желчь. Разве нет?
И анекдоты про обезьян со студентами рассказывать.


Часовой пояс GMT +3, время: 18:06.