Показать сообщение отдельно
  #9 (permalink)  
Старый 17.04.2012, 15:21
Новичок на форуме
Отправить личное сообщение для RedLynx Посмотреть профиль Найти все сообщения от RedLynx
 
Регистрация: 17.04.2012
Сообщений: 2

Собственно не смог удержатся, понимаю, для автора уже поздно ответ писать, но в гугле ещё много людей, которые ищут решение, поэтому, как сделал я, чтобы цена бралась из селекта:
Функция обработки списков и вызов функции ровно такой же, как и у автора, ничего не менял:
(function($) {$.fn.dependent = function(opts) {opts.data = {};this.each(function() {$.each(opts.chain, function(index, selectID) {var ident = selectID.substr(1);var selectHTML = $(selectID).html();opts.data[ident] = {};$('<select>'+selectHTML+'</select>').find('optgroup').each(function() {var optGroup = $('<div>').append( $(this).eq(0).clone() ).html();var group = $(this).attr('label');opts.data[ident][group] = optGroup;});if(opts.chain[index+1]) {$(opts.chain[index]).bind('change', { 'nextID' : opts.chain[index+1] }, binding);} });$(this).bind('change', { 'nextID' : opts.chain[0] }, binding);function binding(event) {var next = event.data.nextID.substr(1);$('#'+next).html(opts.data[next][$(this).val()]);$('#'+next).trigger('change');}});}})(jQuery);
	// Обращение к функции Dependent JQuery для взаимосвязанных списков
	$(document).ready(function() {$('#category_1').dependent({chain : ['#subcategory_1', '#articul_1']});});




Функция расчёта:

function CalcSum(){
var o=document.getElementById("articul_1");
    sum = 0;
for(var i = 0; i < o.options.length; i++) {
        m1 = o.options[i].value;
	        m2 = o.options[i].id;
       if ((m1 > 0) && (m2 > 0)) {
            sum = m1*m2;
	            }
	        }
	    document.getElementById('TextSum').innerHTML = sum + " руб.";
	    }


HTML форма:

<form name=MenuF>
<div id="calctitle">Тип кузова:</div>
	<select id="category_1" class="select">
    <option value="Цельнометаллический фургон">Цельнометаллический фургон</option>
    <option value="Изотермическая будка">Изотермическая будка</option>
    <option value="Изотермический с гидробортом">Изотермический с гидробортом</option>
    <option value="Рефрижератор с гидробортом">Рефрижератор с гидробортом</option>
    <option value="Рефрижератор">Рефрижератор</option>
	</select>
<div id="calctitle">Грузоподъемность:</div>
	<select id="subcategory_1" class="select">
	<optgroup label="Цельнометаллический фургон">
    <option value="1ton">1 тонна</option>
    <option value="2ton">1,7 тонн</option>
    <option value="3ton">2,5 тонн</option>
	</optgroup>
	<optgroup label="Изотермическая будка">
    <option value="4ton">2,5 тонн</option>
	</optgroup>
	<optgroup label="Изотермический с гидробортом">
    <option value="5ton">10 тонн</option>
	</optgroup>
	<optgroup label="Рефрижератор с гидробортом">
    <option value="6ton">10 тонн</option>
	</optgroup>
	<optgroup label="Рефрижератор">
    <option value="7ton">20 тонн</option>
	</optgroup>
	</select>
<div id="calctitle">Объем кузова:</div>
	<select id="articul_1" name="rar" class="select">
	<optgroup label="1ton">
<option id="400" value="6">7,94 м.куб.</option>
	</optgroup>
	<optgroup label="2ton">
<option id="400" value="6">9,07 м.куб.</option>
	</optgroup>
	<optgroup label="3ton">
<option id="470" value="7">13,64 м.куб.</option>
	</optgroup>
	<optgroup label="4ton">
	<option id="500" value="7">15,54 м.куб.</option>
	<option id="500" value="7">18,48 м.куб.</option>
	</optgroup>
	<optgroup label="5ton">
<option id="800" value="8">9,69 м.куб.</option>
	</optgroup>
	<optgroup label="6ton">
<option id="900" value="8">44,10 м.куб.</option>
	</optgroup>
	<optgroup label="7ton">
<option id="1000" value="8">83,30 м.куб.</option>
	</optgroup>
</select>
<br><br>
<input type="button" onClick="javascript:CalcSum();" value="Расчитать">
<br><br>
<div id=TextSum></div>
</form>
Ответить с цитированием