Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.12.2012, 00:58
Аспирант
Отправить личное сообщение для dimon76 Посмотреть профиль Найти все сообщения от dimon76
 
Регистрация: 23.06.2011
Сообщений: 63

присвоить значение
всем привет! недавно начал изучение js , в частности jQuery. столкнулся с такой проблемой. как присвоить переменной результат ajax запроса? т.е. вывести не просто html код в какой нибудь div, а именно присвоить к переменной, чтобы можно было дальше работать с ней. вот такой вот код имею :
function sel(x)
{

$.ajax({
                        type: 'POST',
                        url: 'right.php',
                        data: { sel: $('#type_cards_'+x).val() },
                        success: function(responce){ $('#price_card_'+x).html(responce)}

						
                });


};


/* Функция которая показывает и скрывает селекты на странице  */
function summ_numsel () {
var numsel = $('#number_cards').val(); // Получаем выбранное количество.


var summ = 0;
var spansel = ''; // Блок селекта

		//В зависимости от выбора количества - показываем такое же кол-во селектов.
		for(i=0;i<numsel;i++) {
		
			var num = i+1; // Порядковый номер селекта
			var spansel = spansel+'<div class="block_spansel">'+
									'<div class="num_card">Товар #'+num+'</div>'+
			
										'<select id="type_cards_'+num+'" name="cards_'+num+'" class="select_addcards" onchange="sel('+num+');" >'+
											'<?
$sel = mysql_query("SELECT * FROM `content_tovar` WHERE `type`=1");

 while ($row = mysql_fetch_assoc($sel)) {
     
	
		echo "<option value=\"$row[id]\">$row[name]</option>";
	
    }?>'+
										'</select>'+
									  '<input id="sum_'+num+'" name="sum_'+num+'" type="hidden" value="/*сюда нужно подставлять переменную из функции sel()*/" />'+
									'<div class="price_card" id="price_card_'+num+'">/*вот сюда тоже хочу подставлять переменную*/</div>'+
								  '</div>';
			
			
			summ += /* вот тут проблема */;
		

		
		
		}
		
		var out = $("#ncards").html(spansel); // Выводим селекты в див.
						
		//Выводим блок суммы заказа с кнопкой "Далее".
		var sumrow = '<div class="sum_info">'+
						'<div class="sum_txt">Сумма для оплаты: </div>'+
						'<div class="sum_num">'+summ+' $</div>'+
						'<input id="form_sim_save" type="hidden" name="sum_num" value="'+summ+'" />'+
						'<input id="form_sim_save" type="hidden" name="go_address" value="Далее" />'+
						'<input id="form_sim_save" type="submit" class="sum_b" value="" />'+
					 '</div>';
		
		$('#nscards').html(sumrow);
			
		return out;
}


в общем проблема я думаю понятна - вместо простого html нужно получить переменную
Ответить с цитированием
  #2 (permalink)  
Старый 25.12.2012, 07:33
жажду знаний
Отправить личное сообщение для bushstas Посмотреть профиль Найти все сообщения от bushstas
 
Регистрация: 17.07.2009
Сообщений: 202

function sel(x)
{

$.ajax({
                        type: 'POST',
                        url: 'right.php',
                        data: { sel: $('#type_cards_'+x).val() },
                        success: function(responce){ajData=responce}

						
                });


};
// и оперируй переменной ajData
Ответить с цитированием
  #3 (permalink)  
Старый 25.12.2012, 08:41
Аспирант
Отправить личное сообщение для dimon76 Посмотреть профиль Найти все сообщения от dimon76
 
Регистрация: 23.06.2011
Сообщений: 63

не работает (я так уже делал) пишет Uncaught ReferenceError: ajData is not defined
Ответить с цитированием
  #4 (permalink)  
Старый 25.12.2012, 08:44
жажду знаний
Отправить личное сообщение для bushstas Посмотреть профиль Найти все сообщения от bushstas
 
Регистрация: 17.07.2009
Сообщений: 202

может быть ты поставил var перед ajData? var не должно быть
Ответить с цитированием
  #5 (permalink)  
Старый 25.12.2012, 15:18
Аспирант
Отправить личное сообщение для dimon76 Посмотреть профиль Найти все сообщения от dimon76
 
Регистрация: 23.06.2011
Сообщений: 63

да нет. не ставил. я нашел причину почему не работает но это меня не спасает. функция sel() запускается только при выборе селекта. а мне нужно чтобы значение summ было 0 до выбора а потом менялось. чтобы ноль был я сделал, а вот чтобы менялась не могу. сейчас у меня так -
function sel(x)
{

$.ajax({
                        type: 'POST',
                        url: 'right.php',
                        data: { sel: $('#type_cards_'+x).val() },
                        success: function(responce){summ = responce;}
						
                });


};
for(i=0;i<numsel;i++) {
		
				var num = i+1; // Порядковый номер селекта
				//var price_card = 100-i;
			
	
			var spansel = spansel+'<div class="block_spansel">'+
									'<div class="num_card">Sim карта #'+num+'</div>'+
			
										'<select id="type_cards_'+num+'" name="cards_'+num+'" class="select_addcards" onchange="sel('+num+');" >'+
											'<?
$sel = mysql_query("SELECT * FROM `content_tovar` WHERE `type`=1");

 while ($row = mysql_fetch_assoc($sel)) {
     
	
		echo "<option value=\"$row[id]\">$row[name]</option>";
	
    }?>'+'</select>'+
		  '<input id="sum_'+num+'" name="sum_'+num+'" type="hidden" value="" />'+
			'<div class="price_card" id="price_card_'+num+'"></div>'+
		'</div>';
			
			
			
		

		
		
		}
		
		var out = $("#ncards").html(spansel); // Выводим селекты в див.
		
		// Стилизируем селекты.
		var params = {
							changedEl: ".select_addcards",
							visRows: 5,
							scrollArrows: true
						}
						cuSel(params);
						
		//Выводим блок суммы заказа с кнопкой "Далее".
		var sumrow = '<div class="sum_info">'+
						'<div class="sum_txt">Сумма для оплаты: </div>'+
						'<div class="sum_num">'+summ+' $</div>'+
						'<input id="form_sim_save" type="hidden" name="sum_num" value="'+summ+'" />'+
						'<input id="form_sim_save" type="hidden" name="go_address" value="Далее" />'+
						'<input id="form_sim_save" type="submit" class="sum_b" value="" />'+
					 '</div>';
		
		$('#nscards').html(sumrow);
			
		return out;
}
Ответить с цитированием
  #6 (permalink)  
Старый 25.12.2012, 18:41
Интересующийся
Отправить личное сообщение для ivan.pshenicyn Посмотреть профиль Найти все сообщения от ivan.pshenicyn
 
Регистрация: 24.12.2012
Сообщений: 10

а что у Вас отвечает
'right.php'
на запрос, с параметром
{ sel: $('#type_cards_'+x).val() }
?
если я правильно понял, Вам необходимо переменную summ определить в глобальной области видимости, присвоить ей значение 0. но после запроса - заменить значение. Тогда, у Вас вроде все верно (хотя я так себе, по диагонали код пробежал глазами).
Вы можете достаточно удобно получать данные из запроса и работать с ними, если сделаете так
$.ajax({
    type: 'POST',
    url: 'right.php',
    dataType: 'json',
    data: { sel: $('#type_cards_'+x).val() },
    success: function(responce){summ = $.parseJSON(responce);}
});
Ответить с цитированием
  #7 (permalink)  
Старый 26.12.2012, 01:01
Аспирант
Отправить личное сообщение для dimon76 Посмотреть профиль Найти все сообщения от dimon76
 
Регистрация: 23.06.2011
Сообщений: 63

с этим разобрался. некорректно задаю вопрос. исправляюсь - вопрос в следующем: как выбрать все селекты формы и посчитать их value ?
Ответить с цитированием
  #8 (permalink)  
Старый 26.12.2012, 10:04
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

dimon76, пробежаться циклом по всем select-ам формы и собирать их value, если вы имеете в виду только выбранный элемент...
var sel = document.getElementById("form").getElementsByTagName("select"), res = 0;
for (i=0; i < sel.length; i++) {
    res += parseInt(sel[i].value);
}
Ответить с цитированием
  #9 (permalink)  
Старый 26.12.2012, 10:28
Аспирант
Отправить личное сообщение для dimon76 Посмотреть профиль Найти все сообщения от dimon76
 
Регистрация: 23.06.2011
Сообщений: 63

да. ДА! ДА!!!!!!!!!!!!!!!!!!!!!!!!! спасибо! работает!!!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Присвоить value значение или как? qazibum Элементы интерфейса 17 30.08.2012 19:50
Как присвоить переменной значение поля? MasterHrust Javascript под браузер 2 15.07.2011 13:57
Присвоить значение переменной. zemelea Events/DOM/Window 2 17.03.2010 10:52
Присвоить значение ID переменной. Treekci Общие вопросы Javascript 7 18.03.2009 13:06
Присвоить значение результату функции... Дроздов Общие вопросы Javascript 2 07.03.2009 21:42