За последние 24 часа нас посетили 17855 программистов и 1610 роботов. Сейчас ищут 843 программиста ...

Вопрос по JS

Тема в разделе "JavaScript и AJAX", создана пользователем inline, 4 ноя 2011.

  1. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    при нажатии на ADD появляются новые строчки и напротив каждой ссылка DEL
    как сделать так, чтобы по нажатию на DEL удалялась именно та строчка напротив которой нажат DEL ?
     
  2. NeoXidant

    NeoXidant Активный пользователь

    С нами с:
    8 фев 2010
    Сообщения:
    121
    Симпатии:
    1
    во время создания - присвоить input уникальный ID, а потом удалять по этому ID
     
  3. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    NeoXidant
    как это реализовать
    напишите подробней
    спасибо!
     
  4. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    как для s = "<div id=2><input type=text name=alternative[] value= size=150 ><a href=javascript:// OnClick=del(2) return false>DEL</a></div>";
    сделать, чтобы при каждом добавлении айди дива был уникален?
     
  5. crautcher

    crautcher Активный пользователь

    С нами с:
    21 май 2011
    Сообщения:
    156
    Симпатии:
    0
    помести в функцию статичную переменную , и увеличивай ее при нажатии
     
  6. crautcher

    crautcher Активный пользователь

    С нами с:
    21 май 2011
    Сообщения:
    156
    Симпатии:
    0
    [js]
    var counter = 0 ;

    function add(id)
    {
    counter ++ ;
    s = "<div id='" + counter + "'><input type=text name=alternative[] value= size=150 ><a href=javascript:// OnClick=del(" + counter + ") return false>DEL</a></div>";
    document.getElementById(id).innerHTML =s + document.getElementById(id).innerHTML;
    }
    [/js]
     
  7. NeoXidant

    NeoXidant Активный пользователь

    С нами с:
    8 фев 2010
    Сообщения:
    121
    Симпатии:
    1
    HTML:
    1. <script type="text/javascript">
    2. i=1;
    3. function del(id)
    4. {
    5. document.getElementById(id).innerHTML="";
    6. }
    7.  
    8. function add(id)
    9. {
    10. i++;
    11. s = '<div id="'+i+'"><input type="text" name="alternative[]" value="" size="150" id="'+i+'" /><a href="javascript:del('+i+');return false;">DEL</a></div>';
    12. document.getElementById(id).innerHTML =s + document.getElementById(id).innerHTML;
    13. }
    14. </script>
    15.  
    16. <div id="1">
    17. </div>
    18.  
    19. <a href="javascript:add(1);return false;">ADD</a>
    вот мой быдлокод (javascript практически не знаю)
    все создается, но удаляется только внутренность div'а, что не красиво
     
  8. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    вот счас сделал так
    Код (Text):
    1. <form action=test.php method=post>
    2.  
    3. <script type="text/javascript">
    4. i=0;
    5. function add(id)
    6. {
    7. i++;
    8. s = "<div id="+i+"><input type=text name=alternative[] value='' size=150 ><a href=javascript:// onclick=this.parentNode.parentNode.removeChild(this.parentNode) return false>DEL</a></div>";
    9. document.getElementById(id).innerHTML = s + document.getElementById(id).innerHTML;
    10. }
    11.  
    12. </script>
    13.  
    14. <div id=0>
    15. <br><a href=javascript:// OnClick=add(0) return false>ADD</a>
    16. <br><input type=submit value=go>
    17. </div>
    18.  
    19. </form>
    и такая проблема
    если добавить одно поле и ввести в него что-то, а потом добавить еще одно, то первое поле очиститься, а нужно, чтобы не очищалось.
     
  9. Михаил

    Михаил Активный пользователь

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    в onclick = (this, i)
    i - это номер
    this - указывает на нажатый элемент, у него есть свойство парент, обраш,аешься к нему и удаляешь его.