Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.11.2013, 15:41
Аспирант
Отправить личное сообщение для EleGant Посмотреть профиль Найти все сообщения от EleGant
 
Регистрация: 09.06.2012
Сообщений: 39

Генерация и удаление
Подскажите, вот есть код..
<div id="variants">

                  <div class="control-group" id="uzz">
                    <label class="control-label">Username</label>
                    <div class="controls">
                      <input type="text" placeholder="Username" name="name[]"> <a class="del_variant">X</a>
</div>
                  </div>                  
               	
<script src="http://code.jquery.com/jquery-latest.js"></script>
                  <script>
	$(document).ready(function(){

	var variant = $('#uzz').clone(true);
	

	$('#ss').click(function() {
	
			$(variant).clone(true).appendTo('#variants').fadeIn('slow').find("input[name*=name]").focus();		
	});
	
	$('a.del_variant').click(function() {

			$("#uzz").remove(); });
	});


				  </script>
       
                </div><span id="ss">Добавить вариант</span>


При нажатии на ДОБАВИТЬ ВАРИАНТ,..все, оке..добавляется, но вот при тыки на Х работает только первый вариант...Как сделать что бы при нажатии на против каждого работало именно для него?
Ответить с цитированием
  #2 (permalink)  
Старый 18.11.2013, 15:58
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от EleGant
Как сделать что бы при нажатии на против каждого работало именно для него?
Используй ссылку на "кликнутый" элемент - this...
Ответить с цитированием
  #3 (permalink)  
Старый 18.11.2013, 16:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

EleGant,
22 строка начало
$(document).on('click',
далее по документации и думайте что удалять
Ответить с цитированием
  #4 (permalink)  
Старый 18.11.2013, 22:48
Аспирант
Отправить личное сообщение для EleGant Посмотреть профиль Найти все сообщения от EleGant
 
Регистрация: 09.06.2012
Сообщений: 39

Сообщение от ksa Посмотреть сообщение
Используй ссылку на "кликнутый" элемент - this...
$(this).remove(); });


Сделал, так, стал удаляться только X в первом инпуте.
Ответить с цитированием
  #5 (permalink)  
Старый 18.11.2013, 23:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

EleGant,

<!DOCTYPE HTML>
<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    #ss, .del_variant{
      cursor: pointer;
    }

    </style>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
    $(document)
        .ready(function () {
            var variant = $('#uzz')
                .clone(true);
            $('#ss')
                .click(function () {
                    $(variant)
                        .clone(true)
                        .appendTo('#variants')
                        .fadeIn('slow')
                        .find("input[name*=name]")
                        .focus();
                });
            $(document)
                .on('click', 'a.del_variant', function () {
                    $(this)
                        .parents(".control-group")
                        .remove();
                });
        });
    </script>
</head>

<body>
    <div id="variants">
        <div class="control-group" id="uzz">
            <label class="control-label">Username</label>
            <div class="controls">
                <input type="text" placeholder="Username" name="name[]"> <a class="del_variant">X</a>
            </div>
        </div>
    </div><span id="ss">Добавить вариант</span>
</body>

</html>
Ответить с цитированием
  #6 (permalink)  
Старый 19.11.2013, 08:01
Аспирант
Отправить личное сообщение для EleGant Посмотреть профиль Найти все сообщения от EleGant
 
Регистрация: 09.06.2012
Сообщений: 39

Спасибо!!)
Ответить с цитированием
  #7 (permalink)  
Старый 19.11.2013, 08:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от EleGant
Сделал, так, стал удаляться только X в первом инпуте.
А на "дальше" уже соображалки не хватило?
Ответить с цитированием
  #8 (permalink)  
Старый 09.03.2017, 18:00
Аспирант
Отправить личное сообщение для KEMPZOR Посмотреть профиль Найти все сообщения от KEMPZOR
 
Регистрация: 13.12.2016
Сообщений: 85

Сообщение от рони Посмотреть сообщение
EleGant,

<!DOCTYPE HTML>
<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    #ss, .del_variant{
      cursor: pointer;
    }

    </style>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
    $(document)
        .ready(function () {
            var variant = $('#uzz')
                .clone(true);
            $('#ss')
                .click(function () {
                    $(variant)
                        .clone(true)
                        .appendTo('#variants')
                        .fadeIn('slow')
                        .find("input[name*=name]")
                        .focus();
                });
            $(document)
                .on('click', 'a.del_variant', function () {
                    $(this)
                        .parents(".control-group")
                        .remove();
                });
        });
    </script>
</head>

<body>
    <div id="variants">
        <div class="control-group" id="uzz">
            <label class="control-label">Username</label>
            <div class="controls">
                <input type="text" placeholder="Username" name="name[]"> <a class="del_variant">X</a>
            </div>
        </div>
    </div><span id="ss">Добавить вариант</span>
</body>

</html>
Подниму вопросик, а как сделать кнопку закрыть только для второго и последующих, первый не должен закрываться ?
Ответить с цитированием
  #9 (permalink)  
Старый 09.03.2017, 18:17
Кандидат Javascript-наук
Отправить личное сообщение для Diphenyl Oxalate Посмотреть профиль Найти все сообщения от Diphenyl Oxalate
 
Регистрация: 21.01.2017
Сообщений: 139

KEMPZOR, в 29-ой строчке поменять

'a.del_variant'

на
'a.del_variant:not(:first)'
Ответить с цитированием
  #10 (permalink)  
Старый 09.03.2017, 18:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Diphenyl Oxalate,
а как решить не меняя ничего в скрипте?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое удаление строк таблицы Tankist Events/DOM/Window 16 03.07.2013 16:42
Генерация поля из 8000 картинок на стороне клиента VS генерация картинки на сервере xintrea Events/DOM/Window 2 25.06.2013 20:10
Хранение и удаление cookie в IE john-samilin Internet Explorer 4 07.07.2011 10:57
Удаление совпадающих значений alex_2017 Элементы интерфейса 3 24.04.2011 14:43
Добавление и удаление полей в форму anoth3r Events/DOM/Window 1 11.09.2009 15:10