Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.06.2013, 11:51
Интересующийся
Отправить личное сообщение для MasterDmx Посмотреть профиль Найти все сообщения от MasterDmx
 
Регистрация: 16.02.2013
Сообщений: 21

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

есть список ссылок:

<a href="#" id="tr1" title="Голубые валенки">Заказать</a>
<a href="#" id="tr2" title="Черные перчатки">Заказать</a>
<a href="#" id="tr3" title="Светлые перчатки">Заказать</a>


При нажатии на ссылку всплывает jQuery окно, в котором находится форма. Таких ссылок огромное кол-во. И поэтому каждое окно прописывать не вариант, всего одно окно, в котором будет меняться значение одного поля, смотря на какую ссылку "тыкнуть".

Во всплывающем окне находится форма.
Предположим, что она состоит из 3 input'ов типа text. 2 из них заполняются юзерами, а одна из них скрыта. Именно она и будет менятся.

Нужен скрипт, который при нажатии на ссылку, брал бы title у этой ссылки и "запихивал" его в значение input'a, то бишь в value.

Думаю задача не сильно сложная, но к сожалению мои познания в java близки к нулю, и поэтому я прошу вашей помощи.

Заранее благодарен.
Ответить с цитированием
  #2 (permalink)  
Старый 25.06.2013, 12:01
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

с использованием jquery
$('a').click(function()
{
$(obj).html($(this).attr('title'));
});
Ответить с цитированием
  #3 (permalink)  
Старый 25.06.2013, 19:47
Интересующийся
Отправить личное сообщение для MasterDmx Посмотреть профиль Найти все сообщения от MasterDmx
 
Регистрация: 16.02.2013
Сообщений: 21

Сообщение от skrudjmakdak Посмотреть сообщение
с использованием jquery
$('a').click(function()
{
$(obj).html($(this).attr('title'));
});
Спасибо за быстрый ответ, но не совсем понял как это работает.

Дайте объясню подробнее.

Итак, есть список ссылок:

<a class="js__p_start" href="#__zakaz" id="ps1"  title="Ноутбуки">Заказать</a>
<a class="js__p_start" href="#__zakaz" id="ps2"  title="Нетбуки">Заказать</a>
<a class="js__p_start" href="#__zakaz" id="ps3"  title="Планшеты">Заказать</a>


При нажатии на ссылку всплывает вот такое окно:

<div class="p_body js__p_body js__fadeout"></div> 
<div class="popup js__popup js__slide_top"><a href="#" class="p_close js__p_close" title="Закрыть"></a>
 <div class="p_content">


	<div id='m_form'>
		<div><strong>Отправить сообщение</strong></div>
		<div>Ваше имя <input type='text' id='m_name' /></div>
		<div>Ваш email <input type='text' id='m_email' /></div>
		<div>Тема сообщения <input type='hidden' value="Тест темы" id='m_theme' /></div>
		<div>Сообщение <textarea id="m_message"></textarea></div>
		<div><button>Отправить заявку</button>&nbsp;&nbsp;&nbsp; <span id='result'></span></div>
	</div>

 </div>
</div>


Окно всплывает как надо, все работает.

В этом окне есть форма:
<div id='m_form'>
		<div><strong>Отправить сообщение</strong></div>
		<div>Ваше имя <input type='text' id='m_name' /></div>
		<div>Ваш email <input type='text' id='m_email' /></div>
		<div><input type='hidden' value="Товар" id='m_theme' /></div>
		<div>Сообщение <textarea id="m_message"></textarea></div>
		<div><button>Отправить заявку</button>&nbsp;&nbsp;&nbsp; <span id='result'></span></div>
	</div>


В которой есть input скрытого типа:
<input type='hidden' value="Товар" id='m_theme' />


Так вот, нужно каким-то образом сделать сделать так, что бы в зависимости от того, на какую ссылку "тыкнет" пользователь, менялось value у данного input'a.

Т. е. к примеру пользователь нажал на ссылку
<a class="js__p_start" href="#__zakaz" id="ps2"  title="Нетбуки">Заказать</a>


и "Товар" (Т. е. значение value) у скрытой формы стало "Нетбуки". И так далее.

Возможно и реализовать как-то по-другому. Через ID ссылок

То есть создать таблицу, например где
ps1 = Ноутбуки
ps2 = Нетбуки
ps3 = Планшеты

И при нажатии на ссылку с таким id, value меняется на значение из этой таблицы.

Но мне кажется с тайтлом будет быстрее и меньше мароки.

Надеюсь понятно объяснил.
Заранее благодарен за ваши ответы.
Ответить с цитированием
  #4 (permalink)  
Старый 25.06.2013, 20:29
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

если вы не знакомы с jquery, то вот его официальный сайт jquery.com
необходимо скачать библиотеку (10 версия последняя), она прям на самой первой, стартовой странице.
и подключить: <script type="text/javascript" src="путь_к_библиотеке"></script>

как вы говорили, через id лучше. т.к. это универсальный опознаветель...
тогда ссылка будет выглядеть ДОПУСТИМ так:
<a class="js__p_start" href="#__zakaz" id="z_link-1"  title="Нетбуки">Заказать</a>

$('.js__p_start').click(function()
  {
  var id = parseInt($(this).attr('id').split('-')[1]); //находим id
  var title = $(this).attr('title');
  $('#m_theme').val(id); 
  // или
  //$('#m_theme').val(title); 
  $('#m_form').css('display', 'block'); //показываем всплывающее окно
  return false; //запрещаем переход по ссылке
  });
Ответить с цитированием
  #5 (permalink)  
Старый 25.06.2013, 23:43
Интересующийся
Отправить личное сообщение для MasterDmx Посмотреть профиль Найти все сообщения от MasterDmx
 
Регистрация: 16.02.2013
Сообщений: 21

Спасибо, но к сожалению так и не смог разобраться с вашим примером, однако, удалось существенно приблизится к желанной цели.

Получился вот такой скриптик

function newVal(){
  	var res = $("#zlink1").attr('title');
	$('#m_theme').val(res); 
  	return false;
}


Который при нажатии на ссылку:
<a  href="#__zakaz" id="zlink1" onclick="newVal()" title="Заказать 1"></a>


Меняет значение атрибута value у формы с id="m_theme".

Все работает отлично.

Тока вот возникла такая проблема, ссылка не одна, их много.
<a  href="#__zakaz" id="zlink1" onclick="newVal()" title="Заказать 1"></a>
<a  href="#__zakaz" id="zlink2" onclick="newVal()" title="Заказать 2"></a> 
<a  href="#__zakaz" id="zlink3" onclick="newVal()" title="Заказать 3"></a> 
<a  href="#__zakaz" id="zlink4" onclick="newVal()" title="Заказать 4"></a> 
<a  href="#__zakaz" id="zlink5" onclick="newVal()" title="Заказать 5"></a>


Нужно что бы скрипт забирал title именно у того id ссылки, по которой кликнули.

То есть как я понимаю заменить строчку:

var res = $("#zlink1").attr('title');


П.С. - пробовал по вашему варианту, ничего не вышло.
Ответить с цитированием
  #6 (permalink)  
Старый 25.06.2013, 23:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,078

MasterDmx,
var res = $(this).attr('title');
Ответить с цитированием
  #7 (permalink)  
Старый 26.06.2013, 00:01
Интересующийся
Отправить личное сообщение для MasterDmx Посмотреть профиль Найти все сообщения от MasterDmx
 
Регистрация: 16.02.2013
Сообщений: 21

Не работает. Может быть я что не так вставляю?
Вот итоговый скрипт:

function newVal(){
	var res = $(this).attr('title');	
	$('#m_theme').val(res); 
  	return false;
}
Ответить с цитированием
  #8 (permalink)  
Старый 26.06.2013, 01:02
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

<a  href="#__zakaz" id="zlink1" onclick="newVal(this)" title="Заказать 1"></a>

function newVal(t){
	var res = $(t).attr('title');	
	$('#m_theme').val(res); 
  	return false;
}
Ответить с цитированием
  #9 (permalink)  
Старый 26.06.2013, 11:14
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<a href="#__zakaz" id="zlink2" onclick="newVal()" title="Заказать 2"></a>
<a href="#__zakaz" id="zlink3" onclick="newVal()" title="Заказать 3"></a>
<a href="#__zakaz" id="zlink4" onclick="newVal()" title="Заказать 4"></a>
<a href="#__zakaz" id="zlink5" onclick="newVal()" title="Заказать 5"></a>
<script>
    $('a[href="#__zakaz"]').click(function(e){
        $('#m_theme').val(this.title);
        e.preventDefault();
    });
</script>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
Как сделать пункт в выпадающем списке по умолчанию, после перехода по ссылке? Damian Элементы интерфейса 18 24.09.2012 18:17
функция внутри Live() срабатывает после второго клика Ad1r jQuery 7 09.08.2011 14:11
переход по ссылке только после нескольких кликов по ней smilexpo Events/DOM/Window 8 24.11.2009 16:57
Не убирать кнопку после клика по ней. CompModdd jQuery 2 12.05.2009 02:13