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%.

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

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

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

kostyanet 17.07.2015 15:22

А мне такие как вы часто попадаются. И с виду приличны вроде люди. Казалось бы есть же социальные сети, там делай лулзы. Нет, надо непременно на форум специалистов запереться чтобы узнать всю правду, обидиться и срать кирпичами на трудную жизнь. :)

laimas 18.07.2015 10:21

Цитата:

Сообщение от kostyanet
Нет, надо непременно на форум специалистов запереться чтобы узнать всю правду

Это ты то специалист? Капец ежикам, со смеху помрут.

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

kostyanet 18.07.2015 18:51

Проблевались? Умойтесь.


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