Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.09.2014, 16:47
Новичок на форуме
Отправить личное сообщение для link26 Посмотреть профиль Найти все сообщения от link26
 
Регистрация: 19.09.2014
Сообщений: 5

Динамическое создание input по значению массива другого input
в поле input вставляются(выпадающим списком) теги через запятую, вставляются с помощью javascript

<input type="text" class="form-control" name="tags" id="tags" onchange="change_select(this)">


Функцией

<script>
  $(function() {
    var availableTags = [
     {[brendsel]}
	"{brendsel.br_name}",
     {[/brendsel]}
    ];
	
    function split( val ) {
      return val.split( /,\s*/ );
    }
    function extractLast( term ) {
      return split( term ).pop();
    }
 
    $( "#tags" )
      // don't navigate away from the field on tab when selecting an item
      .bind( "keydown", function( event ) {
        if ( event.keyCode === $.ui.keyCode.TAB &&
            $( this ).data( "ui-autocomplete" ).menu.active ) {
          event.preventDefault();
        }
      })
      .autocomplete({
        minLength: 0,
        source: function( request, response ) {
          // delegate back to autocomplete, but extract the last term
          response( $.ui.autocomplete.filter(
            availableTags, extractLast( request.term ) ) );
        },
        focus: function() {
          // prevent value inserted on focus
          return false;
        },
        select: function( event, ui ) {
          var terms = split( this.value );
          // remove the current input
          terms.pop();
          // add the selected item
          terms.push( ui.item.value );
          // add placeholder to get the comma-and-space at the end
          terms.push( "" );
          this.value = terms.join( ", " );
          return false;
        }
      });
	  
  });
  </script>


Вопрос, можно как-то после того как теги вставлены нажать кнопку добавить количество (сайт рецептов), чтобы ниже всплыли еще несколько input с id/названию тегов которые выбраны в основном поле(выше)?

Последний раз редактировалось link26, 19.09.2014 в 16:51.
Ответить с цитированием
  #2 (permalink)  
Старый 19.09.2014, 16:49
Новичок на форуме
Отправить личное сообщение для link26 Посмотреть профиль Найти все сообщения от link26
 
Регистрация: 19.09.2014
Сообщений: 5

Первым делом приходит идея при выборе тегов в первом поле автоматически вставлять в скрытое поле input-ы, но не совсем понятно как это сделать на javascript. По идее в функцию autocomplete надо дописать какую-то конструкцию для этого, но вот что именно дописать и туда ли, не понятно)
Ответить с цитированием
  #3 (permalink)  
Старый 19.09.2014, 17:51
Новичок на форуме
Отправить личное сообщение для link26 Посмотреть профиль Найти все сообщения от link26
 
Регистрация: 19.09.2014
Сообщений: 5

Все, сделал так:

select: function( event, ui ) {

		  theDiv = document.createElement('div');  // создать новый тег div
		  theDiv.innerHTML = '<br/>'+ui.item.value+': <input type="text" name="kol['+ui.item.value+']" placeholder="количество гр./шт. (не обязательно)"  class="form-control" style="height: 32px; font-size: 14px; color: rgb(204, 204, 204);">';  // его содержание
		  this.parentNode.insertBefore(theDiv, this.nextSibling);  // поместили новый тег после this (вместо this может быть любой другой элемент DOM)
			
          var terms = split( this.value );
          // remove the current input
          terms.pop();
          // add the selected item
          terms.push( ui.item.value );
          // add placeholder to get the comma-and-space at the end
          terms.push( "" );
          this.value = terms.join( ", " );
          return false;
        }



Вопрос закрыт, сам себе плюсик)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скопировать введенное значение input в value другого input razorg1991 Общие вопросы Javascript 3 25.03.2014 10:42
Сортировка массива по возрастанию другого массива. vas88811 Events/DOM/Window 4 12.01.2014 10:31
Создание и заполнение INPUT по клику из другого фрейма belovdo Элементы интерфейса 1 04.02.2013 22:06
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Создание многомерного массива из PHP ivandelov Общие вопросы Javascript 6 13.06.2012 21:01