Показать сообщение отдельно
  #4 (permalink)  
Старый 30.04.2013, 11:33
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

ну как то так:

//как сказал cmd, упростим код. коменты в коде
$(document).ready(function(){
//------------
//jquery code

//создадим глобальные переменные
var zn2 = 0, zn1 = 0, zn = 0;

$('ul.cities_list li').click(function()
	{
	var tv = parseFloat($(this).attr('alt'));
	// document.getElementById("dl").value - вот это зачем?? если используем jquery, то это можно написать так: $("#dl").val()
	var dl = parseInt($("#dl").val());
	var sl = parseInt($("#sl").val());
	var sh = parseInt($("#sh").val());
	//коментарий по этому куску: parseFloat(tv)*parseInt(dl)*parseInt(sl)/100*parseInt(sh)
	//возьмем  например из этого куска вот это: parseInt(dl)
	// вы же уже писали parseInt выше.. не нужно это писать еще раз
	
	//$(".delivery_text").html(parseFloat(tv)*parseInt(dl)*parseInt(sl)/100*parseInt(sh)); - старый вариант
	
	//а вот ниже новый вариант
	var res = tv * dl * sl / 100 *sh; //сначала запишем в переменную
	$(".delivery_text").html(res); // - новый вариант
	
	zn = res;//var писать не нужно, они объявлены как глобальные
	addIt();
	});

$('ul.cities_list1 li').click(function()
	{//делаем все аналогично предыдущему
	var tv1 = parseFloat($(this).attr('alt'));
	var dl = parseInt($("#dl1").val());
	var sl = parseInt($("#sl1").val());
	var sh = parseInt($("#sh1").val());
	
	var res = tv1 * dl1 * sl1 / 100 *sh1;
	
	$(".delivery_text1").html(res);
	var zn1 = res;
	addIt();
	});

$('ul.cities_list2 li').click(function()
	{
	var tv2 = parseFloat($(this).attr('alt'));
	var dl = parseInt($("#dl2").val());
	var sl = parseInt($("#sl2").val());
	var sh = parseInt($("#sh2").val());
	
	var res = tv2 * dl2 * sl2 / 100 *sh2;
	
	$(".delivery_text2").html(res);
	var zn2 = res;
	addIt();
	});
  

function addIt()
	{
	$("#output").val(zn1 + zn2 + zn);
	}

//------------	
});

Последний раз редактировалось skrudjmakdak, 30.04.2013 в 11:44.
Ответить с цитированием