| 
	| 
	
	| 
		
	| 
			
			 
			
				25.11.2012, 20:45
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 25.11.2012 
						Сообщений: 5
					 
		
 |  |  
	| 
				Присвоение значений элементу input при нажатии кнопки.
			 Добрый день. Столкнулся с такой проблемой. У меня имеются табы
 JavaScript
 jQuery(function($){
 $(document).ready(function() {
 $(".content-samtel1 div").hide(); // Скрытое содержимое
 $(".tabs-samtel1 li:first").attr("class","current"); // Какой таб показать первым
 $(".content-samtel1 div:first").fadeIn(1); // Показ первого контента таба
 
 $('.tabs-samtel1 a').click(function(e) {
 e.preventDefault();
 $(".content-samtel1 div").hide(); //Скрыть всё содержимое
 $(".tabs-samtel1 li").attr("id",""); //Сброс идентификаторов
 $(this).parent().attr("id","current","value"); // Активация идентификаторов
 $('#' + $(this).attr('name')).fadeIn(1); // Показать содержимое текущей вкладки
 });
 })();
 
 
 Табы в html
 <ul class="tabs-samtel1">
 <li><a href="#" name="nomer1"  class="close">номер 1</a></li>
 <li><a href="#" name="nomer2" class="close">номер 2</a></li>
 <li><a href="#" name="nomer3" class="close">номер 3</a></li>
 <li><a href="#" name="nomer4" class="close">номер 4</a></li>
 </ul>
 
 
 Информация в табах html
 <div class="content-samtel1">
 <div id="nomer1">информация 1</div>
 <div id="nomer2">информация 2</div>
 <div id="nomer3">информация 3</div>
 <div id="nomer4">информация 4</div>
 </div>
 
 
 И так же имеется кнопка, которая выводит "модальное" окно с формой обратной связи.
 
 Необходимо, чтобы в зависимости от активного "таба" в форму обратной связи вставлялся определенный текст (скажем с информацией об этом табе), и после нажатия в форме кнопки "отправить", данная информация так же обрабатывалась в файле mail.php?
 
 Как это можно осуществить? У меня были мысли как то это завязать на атрибуте value, но, к сожалению, в js я плохо разбираюсь. Подскажите, пожалуйста.
 
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				25.11.2012, 22:07
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 11.09.2010 
						Сообщений: 8,804
					 
		
 |  |  
	| код обработчика клика кнопки, выводящей "модальное окно" |  |  
	| 
		
	| 
			
			 
			
				25.11.2012, 23:13
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 25.11.2012 
						Сообщений: 5
					 
		
 |  |  
	| 
$('body').on('click', '.callback-samtel1', function(e){
				e.preventDefault();
				$('#callback-samtel1').modal().open();
			});
<a href="#" class="callback-samtel1" name="modal"><div class="callback-knopka"></div></a>
 
Плюс подключается библиотека и код самого плагина
 
/**
 * The Modal jQuery plugin
 *
 * @author Alexander Makarov <sam@rmcreative.ru>
 * @link [url]https://github.com/samdark/the-modal[/url]
 * @version 1.0
 */
;(function($, window, document, undefined) {
	"use strict";
	/*jshint smarttabs:true*/
	var pluginNamespace = 'the-modal',
		// global defaults
    	defaults = {
			overlayClass: 'themodal-overlay',
			closeOnEsc: true,
			closeOnOverlayClick: true,
			onClose: null,
			onOpen: null
        };
	function getContainer() {
		var container = 'body';
		// IE < 8
		if(document.all && !document.querySelector) {
			container = 'html';
		}
		return $(container);
	}
	function init(els, options) {
		var modalOptions = options;
		if(els.length) {
			els.each(function(){
				$(this).data(pluginNamespace+'.options', modalOptions);
			});
		}
		else {
			$.extend(defaults, modalOptions);
		}
		return {
			open: function(options) {
				var el = els.get(0);
				var localOptions = $.extend({}, defaults, $(el).data(pluginNamespace+'.options'), options);
				getContainer().addClass('lock');
				// close modal if opened
				if($('.'+localOptions.overlayClass).length) {
					$.modal().close();
				}
				var overlay = $('<div/>').addClass(localOptions.overlayClass).prependTo('body');
				overlay.data(pluginNamespace+'.options', options);
				if(el) {
					$(el).clone(true).appendTo(overlay).show();
				}
				if(localOptions.closeOnEsc) {
					$(document).bind('keyup.'+pluginNamespace, function(e){
						if(e.keyCode === 27) {
							$.modal().close();
						}
					});
				}
				if(localOptions.closeOnOverlayClick) {
					overlay.children().on('click.' + pluginNamespace, function(e){
						e.stopPropagation();
					});
					$('.' + localOptions.overlayClass).on('click.' + pluginNamespace, function(e){
						$.modal().close();
					});
				}
				$(document).bind("touchmove",function(e){
					if(!$(e).parents('.' + localOptions.overlayClass)) {
						e.preventDefault();
					}
				});
				if(localOptions.onOpen) {
					localOptions.onOpen(overlay, localOptions);
				}
			},
			close: function() {
				var el = els.get(0);
				var localOptions = $.extend({}, defaults, options);
				var overlay = $('.' + localOptions.overlayClass);
				$.extend(localOptions, overlay.data(pluginNamespace+'.options'));
				overlay.remove();
				getContainer().removeClass('lock');
				if(localOptions.closeOnEsc) {
					$(document).unbind('keyup.'+pluginNamespace);
				}
				if(localOptions.onClose) {
					localOptions.onClose(overlay, localOptions);
				}
			}
		};
	}
	$.modal = function(options){
		return init($(), options);
	};
	$.fn.modal = function(options) {
		return init(this, options);
	};
})(jQuery, window, document);
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				25.11.2012, 23:28
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 11.09.2010 
						Сообщений: 8,804
					 
		
 |  |  
	| Ну дык перед показом окна и делай че тебе нужно. 
var activeTab = $('#current a').name;
console.log(activeTab); // nomer1
 |  |  
	| 
		
	| 
			
			 
			
				25.11.2012, 23:39
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 25.11.2012 
						Сообщений: 5
					 
		
 |  |  
	| 
	
 
	| Сообщение от danik.js   |  
	| Ну дык перед показом окна и делай че тебе нужно. 
 
var activeTab = $('#current a').name;
console.log(activeTab); // nomer1
 |  
	
 Ну я понимаю, что перед показом, я не понимаю как завязать input со значением value в форме с информацией во вкладках.   |  |  
	| 
		
	| 
			
			 
			
				25.11.2012, 23:59
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 11.09.2010 
						Сообщений: 8,804
					 
		
 |  |  
	| var tab = $('#current a').name;
 var info = $('#' + tab).text();
 
 $('#callback-samtel1').find('[type="text"], textarea').val(info);
 |  |  
	| 
		
	| 
			
			 
			
				26.11.2012, 00:24
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 25.11.2012 
						Сообщений: 5
					 
		
 |  |  
	| 
	
 
	| Сообщение от danik.js   |  
	| var tab = $('#current a').name; 
 var info = $('#' + tab).text();
 
 $('#callback-samtel1').find('[type="text"], textarea').val(info);
 |  
	
 ого, спасибо. А если мне нужно завязать это к:
 
<input type="hidden" name="tarif" class="tarif"/>
 ??
 
Извиняюсь за наглость, но с js мало знаком   |  |  
	| 
		
	| 
			
			 
			
				26.11.2012, 02:38
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 25.11.2012 
						Сообщений: 5
					 
		
 |  |  
	| Спасибо за помощь. Решил данную задачу средствами Jquery. 
В итоге весь скрипт вкладок вышел таким:
 
$(document).ready(function() {
        $(".content-samtel1 div").hide(); // Скрытое содержимое
        $(".tabs-samtel1 li:first").attr("class","current", "value"); // Какой таб показать первым
        $(".content-samtel1 div:first").fadeIn(1); // Показ первого контента таба
 
 		$(".samtel-internet").val($(".tabs-samtel1 li a").attr('value'));
		$(".samtel-internet").text($(".tabs-samtel1 li a").attr('value'));
 
    $('.tabs-samtel1 a').click(function(e) {
        e.preventDefault();
        $(".content-samtel1 div").hide(); //Скрыть всё содержимое
        $(".tabs-samtel1 li").attr("class",""); //Сброс идентификаторов
        $(this).parent().attr("id","current","value"); // Активация идентификаторов
        $('#' + $(this).attr('name')).fadeIn(1); // Показать содержимое текущей вкладки
		
		
		$(".samtel-internet").val($(this).attr('value'));
		$(".samtel-internet").text($(this).attr('value'));
 |  |  
	| 
		
	| 
			
			 
			
				26.11.2012, 06:01
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 11.09.2010 
						Сообщений: 8,804
					 
		
 |  |  
	| В соответствии с принципом DRY , код должен быть таким:
 
$(document).ready(function() {
  
    $('.tabs-samtel1 a').click(function(e) {
        e.preventDefault();
        $(".content-samtel1 div").hide(); //Скрыть всё содержимое
        $(".tabs-samtel1 li").attr("class",""); //Сброс идентификаторов
        $(this).parent().attr("id","current","value"); // Активация идентификаторов
        $('#' + $(this).attr('name')).fadeIn(1); // Показать содержимое текущей вкладки
         
        $(".samtel-internet").val($(this).attr('value'));
        $(".samtel-internet").text($(this).attr('value'));
    }
    $('.tabs-samtel1 li:first a').click();
И разберись с text/val. text() для задания содержимого div'ov, span'of и тд, а val() - для задания значения атрибута value элементов форм. И еще, выходит ты ссылкам (.tabs-samtel1 a) указал атрибут value ? У ссылок нет value. Если там что-то человекочитаемое, то можешь использовать title. Или например зделать так:
 
<li><a href="#nomer1" name="tut-info" class="close">номер 1</a></li>
 
и $(this.href).fadeIn(1) вместо $('#' + $(this).attr('name')).fadeIn(1)
 
ну и $(".samtel-internet").val(this.name) вместо $(".samtel-internet").val($(this).attr('value'))
			
			
	
			
			
			
			
			
				  |  |  
 
 
 
 |  |