Javascript.RU

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

Как реализовать?
Доброй ночи, уважаемые пользователи форума. Я прошу вашей помощи. Прошу прощения, если разместил в неправильной ветки. Не знаю куда лучше отнести вопрос.
Как в у форм сделать что то вроде наследования...
Исправил, удалил лишнее оставил важный пример.
Предположим, имеется массив форм (идентичных) по своему составу:
<p>
<input id="1" type="text" name="label[]" value="текст из инпута 1" ../> <!-- название работы которая идет в список (select) -->
</p>
<p>
<input id="2" type="text" name="label[]" value="текст из инпута 2" ../> <!-- название работы которая идет в список (select) -->
<select multiple name="parent[]">
    <option disabled>выбор из уже описанных инпутов</option>
    <option value="1">текст из инпута 1</option>
   <option value="3">текст из инпута 3</option>
</select>
</p>
<p>
<input id="3" type="text" name="label[]" value="текст из инпута 3" ../> <!-- название работы которая идет в список (select) -->
<select multiple name="parent[]">
    <option disabled>выбор из уже описанных инпутов</option>
    <option value="1">текст из инпута 1</option>
    <option value="2">текст из инпута 2</option>
</select>
</p>
<!-- и так далее до бесконечности -->

как в селект, выбор запихнуть данные из инпутов со всех? и брать ихний ид? 1,2,3,++

Последний раз редактировалось RodgerFox, 17.01.2013 в 21:39.
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2013, 16:38
Аватар для ОлегА
Профессор
Отправить личное сообщение для ОлегА Посмотреть профиль Найти все сообщения от ОлегА
 
Регистрация: 25.08.2011
Сообщений: 420

Вы опубликовали очень много кода.

Пожалуйста, локализуйте проблему!

Выделите фрагмент кода, по которому есть вопрос и опубликуйте его отдельно.

И, по возможности, уберите из кода мусор, чтобы нам легче было сориентироваться и помочь решить вашу проблему.

Спасибо.

P.S. код форматируют специальные теги [ js ] ... [/js], [ html ] ... [/html] и другие аналогичные, сам. http://javascript.ru/formatting
Ответить с цитированием
  #3 (permalink)  
Старый 18.01.2013, 02:05
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

лучше всего сделать выборку по классу
или найти контейнер всех форм(formcontainer) и искать в нём по тегу <P> как в вашем случае.

пример ниже берёт данные из всех форм, поиск по классу.
дальше задачу я не понял.
поэтому просто собрал данные в массив, и вывел его
но вы вместо заполнения массива можете в этом цикле делать именно то что вам надо.

upd/
если я правильно сейчас догонять начал, то храните связь инпута и options в атрибутах. Это может быть id inputa в атрибуте option как пример, или атрибут в input с порядковым номером option, и 100500 других вариантов в придачу.
Если бы вы задачу точнее уточнили, то я бы точнее посоветовал.

<div id="formcontainer">
<p class="superform">
<input id="2" type="text" name="label[]" value="текст из инпута 2" ../> <!-- название работы которая идет в список (select) -->
<select multiple name="parent[]">
    <option disabled>выбор из уже описанных инпутов</option>
    <option value="1">текст из инпута 1</option>
   <option value="3">текст из инпута 3</option>
</select>
</p>
<p class="superform">
<input id="3" type="text" name="label[]" value="текст из инпута 3" ../> <!-- название работы которая идет в список (select) -->
<select multiple name="parent[]">
    <option disabled>выбор из уже описанных инпутов</option>
    <option value="1">текст из инпута 1</option>
    <option value="2">текст из инпута 2</option>
</select>
</p>
<!-- и так далее до бесконечности -->

</div>
<script>
    var  forms=document.getElementsByClassName('superform') ;
    var data=[];
    for (var i=0,length=forms.length;i<length;i++){
      data.push ( 
                forms[i].getElementsByTagName("input")[0].value
      );      
   }

   alert (data);
</script>
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 18.01.2013 в 02:38.
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2013, 12:25
Аспирант
Отправить личное сообщение для RodgerFox Посмотреть профиль Найти все сообщения от RodgerFox
 
Регистрация: 10.10.2012
Сообщений: 47

Вы правильно подумали, "то храните связь инпута и options в атрибутах. Это может быть id ..."
Ответить с цитированием
  #5 (permalink)  
Старый 19.01.2013, 02:03
Аспирант
Отправить личное сообщение для RodgerFox Посмотреть профиль Найти все сообщения от RodgerFox
 
Регистрация: 10.10.2012
Сообщений: 47

up Кто знает решение?
Ответить с цитированием
  #6 (permalink)  
Старый 19.01.2013, 02:19
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script src="http://code.jquery.com/jquery-latest.js"></script>

<div id="formcontainer">
<p class="superform">
<label for="2">инпут 2</label><br />
<input id="2" type="text" name="label[]" value="текст из инпута 2" ../> <!-- название работы которая идет в список (select) -->
<select multiple name="parent[]">
    <option disabled>выбор из уже описанных инпутов</option>
    <option value="1">текст из инпута 1</option>
   <option value="3">текст из инпута 3</option>
</select>
</p>
<p class="superform">
<label for="3">инпут 3</label><br />
<input id="3" type="text" name="label[]" value="текст из инпута 3" ../> <!-- название работы которая идет в список (select) -->
<select multiple name="parent[]">
    <option disabled>выбор из уже описанных инпутов</option>
    <option value="1">текст из инпута 1</option>
    <option value="2">текст из инпута 2</option>
</select>
</p>
<p class="superform">
<label for="4">инпут 4</label><br />
<input id="4" type="text" name="label[]" value="текст из инпута 4" ../> <!-- название работы которая идет в список (select) -->
<select multiple name="parent[]">
    <option disabled>выбор из уже описанных инпутов</option>
    <option value="2">текст из инпута 2</option>
    <option value="3">текст из инпута 3</option>
    <option value="4">текст из инпута 4</option>
</select>
</p>
<!-- и так далее до бесконечности -->

</div>





<script>
$(document).ready(function(){

 function PresetTxtOpt(){
  var a = 'parent[]';
  $("p.superform select[name='"+a+"'] option").each(function(i){
    if(!$(this).parent().find('option').index(this)){return true;}
     var ID=$(this).val();
    var TxtOpt=$("p.superform input[id='"+ID+"']").val();
    if(TxtOpt)TxtOpt=TxtOpt.replace(/^\s*/g,'');
     if(TxtOpt){
        $(this).removeAttr('disabled');
        $(this).text(TxtOpt);
     }
    var txt = '(не найден/не заполнен)';
     if(!TxtOpt){
        $(this).text($(this).text().replace(txt,'')+txt);
        $(this).attr('disabled',true);
     }
  });
 } PresetTxtOpt();

 $("p.superform select").change(function(){
    PresetTxtOpt();
 });
 $("p.superform input").bind('input keyup mouseup',function(){
    PresetTxtOpt();
 });

});
</script>

Последний раз редактировалось Deff, 19.01.2013 в 03:55.
Ответить с цитированием
  #7 (permalink)  
Старый 19.01.2013, 23:56
Аспирант
Отправить личное сообщение для RodgerFox Посмотреть профиль Найти все сообщения от RodgerFox
 
Регистрация: 10.10.2012
Сообщений: 47

Вау... спасибо, только не много не так. на примере инпута 4, он показывает в выборе и свой тоже. А хотелось бы, что бы предлагали все варианты инпутов кроме того в котором список >.<
Ответить с цитированием
  #8 (permalink)  
Старый 20.01.2013, 00:00
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

RodgerFox,
Я показал что можно воткнуть любые, cкрипт смотрит по option в селекторе
Незаполненные или отсутствующие инпут - выбор блокируется,
Перерисовка контента option => при выборе option или заполнении инпут

Последний раз редактировалось Deff, 20.01.2013 в 00:04.
Ответить с цитированием
  #9 (permalink)  
Старый 20.01.2013, 00:11
Аспирант
Отправить личное сообщение для RodgerFox Посмотреть профиль Найти все сообщения от RodgerFox
 
Регистрация: 10.10.2012
Сообщений: 47

Спасибо поиграюсь с этим сейчас, надеюсь что то из этого сооружу.
Ответить с цитированием
  #10 (permalink)  
Старый 20.01.2013, 22:49
Аспирант
Отправить личное сообщение для RodgerFox Посмотреть профиль Найти все сообщения от RodgerFox
 
Регистрация: 10.10.2012
Сообщений: 47

Посмотрите пожалуйста
http://algoritm.rodgerfox.jino.ru/index.html Первый селект обновляется только, если во второй инпут ввести что то и нажать или на первый инпут или на селект первый. почему так происходит?
Большое спасибо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как реализовать onclick на ячейках таблицы krokusandr Events/DOM/Window 15 12.04.2019 05:30
Подскажите как реализовать слайдер saracen Общие вопросы Javascript 2 26.08.2012 23:30
Как реализовать обращение к объекту, конкретнее см внутри kichSman jQuery 4 15.08.2012 18:06
Как можно такое реализовать? Jquery & Ajax _M_ jQuery 5 16.07.2012 13:24
как можно реализовать вот такой эффект меню(http://allure-estetic.ru/)? Reasgo Библиотеки/Тулкиты/Фреймворки 3 09.10.2011 16:46