Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Получать и удалять значения из select (https://javascript.ru/forum/dom-window/55468-poluchat-i-udalyat-znacheniya-iz-select.html)

Rorbi 29.04.2015 10:58

Получать и удалять значения из select
 
Здравствуйте. У меня возникла вот такая вот проблема, подскожите пожалуйста.
Есть список select:
<select class="selectList selectTegs" name="">
	<option class="disabled"   value="">Выберите тег</option>
	<option class="openSelect" value="">Тег 1</option>
	<option class="openSelect" value="">Тег 2</option>		
<option class="openSelect"  value="">Тег3</option>																
</select>



Есть кнопка:
<a class="addTegVideoSelect">Добавить</a>


И список ul в который происходит добавление из списка:
<ul class="listTegsSel keyVideo liInline">
												
</ul>

И собственно скрипт:
$("a.addTegVideoSelect").click(function(){
		var tegSeleted = $("select.selectTegs option.openSelect:selected");
		var tegDisabled = $("select.selectTegs option.disabled");
		var tegText = tegSeleted.text();
		var tegTextDisabled = tegDisabled.text();
		
		if(tegSeleted.is(".openSelect")){
			$("ul.listTegsSel").append("<li><a href='#'>" + tegText + "</a></li>");
			$("div.selectTegs span.selectText").text(tegTextDisabled);
			tegSeleted.remove();	
		}
		
	});
	
	$("ul.listTegsSel li").click(function(event){
		event.preventDefault();
		var listTegsSelAText = $(this).text();
		$("select.selectTegs").append( $('<option class="openSelect" value="">' + listTegsSelAText + '</option>'));
		$(this).remove();
	});




Делает он следующее:
Человек выбирает пункт в списке Select и жмет кнопку "Добавить".
После этого выбранный пункт попадает в ul и удаляется из select
Это работает как надо, но это не все
Теперь человек может удалить выбраны пункты из списка ul кликнув по ним. Пункт на который было кликнуто должен будет удалиться из ul и попасть обратно в select. Но почему то не работает, то есть работает только если пункты уже изначально были в списке ul, тогда да они удаляются из него и попадают в select, а вот те которые были добавлены из select в ul по средством кнопки ни как не реагируют(не удаляются из ul и не попадают обратно в select).
Подскажите пожалуйста в чем у меня проблема.

Rorbi 29.04.2015 11:29

Все я понял в что нужно было сделать))
$("body").on("click", "a.addTegVideoSelect", function(){
		var tegSeleted = $("select.selectTegs option.openSelect:selected");
		var tegDisabled = $("select.selectTegs option.disabled");
		var tegText = tegSeleted.text();
		var tegTextDisabled = tegDisabled.text();
		
		if(tegSeleted.is(".openSelect")){
			$("ul.listTegsSel").append("<li><a href='#'>" + tegText + "</a></li>");
			$("div.selectTegs span.selectText").text(tegTextDisabled);
			tegSeleted.remove();	
		}
		
	});
	
	$("body").on("click", "ul.listTegsSel li", function(event){
		event.preventDefault();
		var listTegsSelAText = $(this).text();
		$("select.selectTegs").append( $('<option class="openSelect" value="">' + listTegsSelAText + '</option>'));
		$(this).remove();
	});



за место
$("a.addTegVideoSelect").click(function(){
Нужно было так
$("body").on("click", "a.addTegVideoSelect", function(){


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