Javascript.RU

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

Помогите с соседним элементом
День добрый!
Есть поле инпут типа текст. Перед ним идет три селекта с кнопкой в конце. Необходимо, чтобы по нажатию на кнопку в этот самый инпут вписывались значения, взятые из селектов.
задача осложняется тем, что таких инпутов, куда нужно вставлять, может быть несметное множество и с одинаковым именем...((
Вопрос: как яве объяснить, что нужно вставлять именно в тот инпут, который идет за кнопкой?
Ответить с цитированием
  #2 (permalink)  
Старый 20.07.2012, 19:47
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

liber87,
Пользуемся Только ява-скрипт ?
Ответить с цитированием
  #3 (permalink)  
Старый 20.07.2012, 19:52
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

liber87, если есть возможность редактировать HTML, установите у требуемого input идентификатор id...
Ответить с цитированием
  #4 (permalink)  
Старый 20.07.2012, 20:10
Интересующийся
Отправить личное сообщение для liber87 Посмотреть профиль Найти все сообщения от liber87
 
Регистрация: 20.07.2012
Сообщений: 12

Если бы я мог установить Id - все было бы просто)
Deff, если есть другие способы - буду признателен.
Ответить с цитированием
  #5 (permalink)  
Старый 20.07.2012, 20:11
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от liber87
Deff, если есть другие способы - буду признателен.
Если есть jQuery - то -элементарно - хотя и на JS тоже не слишком сложно

Выложите минимально необходимый код HTML элементов
кнопка => http://s1.uploads.ru/i/vF07j.png
Ответить с цитированием
  #6 (permalink)  
Старый 20.07.2012, 20:14
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

liber87, можно попробовать так, если используются простые текстовые поля
<html>
<head>
<title></title>
<script>
function a(event) {
    var e = event || window.event;
    e = e.target || e.srcElement;
    var i=0;
    var el = document.getElementsByTagName("input");
    for (i=0; i < el.length; i++) {
       if (el[i] == e) {
         break;
      }
   }
	el[i+1].value = document.getElementsByName("sel")[0].value + " " + document.getElementsByName("sel")[1].value + " " + document.getElementsByName("sel")[2].value;
}
</script>
</head>
<body>
<input type="text" name="asd">
<input type="text" name="asd">
<input type="text" name="asd">
<input type="text" name="asd">
<input type="text" name="asd">
<select name="sel"><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>
<select name="sel"><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>
<select name="sel"><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>
<input type="button" value="asdasd" onClick="a(event)">
<input type="text" name="asd"><input type="text" name="asd"><input type="text" name="asd"><input type="text" name="asd">
<input type="text" name="asd">
<input type="text" name="asd">
<input type="text" name="asd">
<input type="text" name="asd">
<input type="text" name="asd">
<input type="text" name="asd">
</body>
</html>

Deff наверняка решение получше придумает...

Последний раз редактировалось lord2kim, 20.07.2012 в 20:21.
Ответить с цитированием
  #7 (permalink)  
Старый 20.07.2012, 20:29
Интересующийся
Отправить личное сообщение для liber87 Посмотреть профиль Найти все сообщения от liber87
 
Регистрация: 20.07.2012
Сообщений: 12

lord2kim, Вау, супер!!! То, что нужно! с меня магарыч!)
Ответить с цитированием
  #8 (permalink)  
Старый 20.07.2012, 21:25
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

можно укоротить код, а также сделать возможность использования многострочных текстовых полей
<html>
<head>
<title></title>
<script>
function a(event) {
    var e = event || window.event;
    e = e.target || e.srcElement;
	while (e) {
		if (e.name == "asd") {
			return e.value = document.getElementsByName("sel")[0].value + " " + document.getElementsByName("sel")[1].value + " " + document.getElementsByName("sel")[2].value;
		}
		else {
			e = e.nextSibling;
		}
	}
}
</script>
</head>
<body>
<textarea name="asd"></textarea>
<textarea name="asd"></textarea>
<textarea name="asd"></textarea>
<textarea name="asd"></textarea>
<textarea name="asd"></textarea>
<select name="sel"><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>
<select name="sel"><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>
<select name="sel"><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option></select>
<input type="button" value="asdasd" onClick="a(event)">
<textarea name="asdd"></textarea>
<textarea name="asdd"></textarea>
<textarea name="asdd"></textarea>
<textarea name="asdd"></textarea>
<textarea name="asd"></textarea>
<textarea name="asd"></textarea>
<textarea name="asd"></textarea>
<textarea name="asd"></textarea>
<textarea name="asd"></textarea>
<textarea name="asd"></textarea>
</body>
</html>
Ответить с цитированием
  #9 (permalink)  
Старый 20.07.2012, 23:18
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

<div>
<select>
  <option value="0">0</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
<select>
  <option value="0">0</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
<select>
  <option value="0">0</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
<input type="button" value="click" class="but">
<input>
</div>
<div>
<select>
  <option value="0">0</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
<select>
  <option value="0">0</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
<select>
  <option value="0">0</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>
<input type="button" value="click" class="but">
<input>
</div>

<script>
window.onload = function () {//onload begin

  document.body.onclick = function (e) {//onclick begin
    e = e || event;
    var target = e.target || e.srcElement;
 
    if (target.className == 'but') {
      var sel = target.parentNode.getElementsByTagName('select');
      var len = sel.length;
      var inp = target.nextSibling.nextSibling;//target.nextElementSibling
      inp.value = '';
      for (var i = 0; i < len; i++) {
        inp.value += sel[i].value + '; ';//inp.value += sel[i].options[sel[i].selectedIndex].text + '; ';
      }
    }

  }//onclick end

}//onload end
</script>

Последний раз редактировалось bes, 20.07.2012 в 23:24.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ПОМОГИТЕ!!! JavaScript aktau07 Общие вопросы Javascript 9 03.10.2011 23:10
Помогите с replace! faforty Общие вопросы Javascript 2 28.08.2011 13:10
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50
Проверка положения мыши над элементом trikadin Events/DOM/Window 13 05.05.2010 22:26
Люди, ПОМОГИТЕ! Bel666 jQuery 11 27.04.2010 15:38