Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как сделать чтобы оба скрипти работали (https://javascript.ru/forum/misc/35580-kak-sdelat-chtoby-oba-skripti-rabotali.html)

sarik 15.02.2013 09:22

как сделать чтобы оба скрипти работали
 
Вот первый:
// JavaScript Document 
$(document).ready(function() { 
    $("#type_site").change(function() { 
        var typeOfSite = $("#type_site :selected").val(), 
            formOftype = $("#config_site"); 
             
            /* Обнуляем общую и сумм с НДС в поле вывода */ 
            $("#summ span").text("0"); 
            $("#summ_nds span").text("0"); 

            /* Выбираем соответствующую форму из файла */ 
            formOftype.load("fullform.php",{option:typeOfSite}); 
             
            /* Выбираем все чекбоксы которые были подгружены, в этом нам поможет функция live */ 
            formOftype.live("change",function() { 
                 
                /* При проведении действий пересчитываем сумму в зависимости от выбраных чекбоксов */ 
                var totalSum = 0, /* Полную сумму сначала приравниваем к нулю */ 
                    totalSumNDS = 0, 
                    choiceCMS = parseInt($("#cms_radio :selected").val()); 
                     
                     
                     
                     
                    /* Приплюсовываем сумму стоимости CMS */ 
                    totalSum += choiceCMS; 
                 
                /* Каждое поле ввода проверяем на введеное значение, если больше нуля то считаем его */ 
                $("#inputCell").each(function() { 
                        var inputCell = parseInt($("#inputCell").val()) * parseInt($("#inputCell").attr("name")); 
                        totalSum += inputCell ; 
                }); 
                                 
                /* Пересчитываем все чекбоксы которые отмечены галочкой*/ 
                $(this + "input[name=''] :checked").each(function() { 
                        totalSum += parseInt($(this).val()); 
                    }); 
                 
                /* Подсчет и вывод суммы итоговой */ 
                totalSumNDS = totalSum * 1.18 ; 
                $("#summ span").text(totalSum); 
                $("#summ_nds span").text(totalSumNDS); 
            }); 
    });     
     
});




Вот второй:
$(document).ready(function (){ 
        $(':radio').click(function (){ 
            if (this.checked) { 
                $('#test').attr('src',this.value); 
            } 
        }); 
    });




Как сделать так чтобы оба скрипты работали одновременно и чтобы функция калькулятора из первого скрипта не перестал работать. Функция калькулятора из первого скрипта берет свое значение из value но функция замена картинки из второго скрипта тож из value. Если вписываю оба скрипты вместе то ни один из них не работает. Пожалуйста помогите. Заранее СПАСИБО.

ksa 15.02.2013 10:24

Не совсем понятно чем у тебя провинилось value... :) Но, как вариант, храни другое значение в другом атрибуте...

sarik 15.02.2013 12:05

Это как в другом атрибуте ?
проблема в том что у меня есть такая страничка в катором когда выбираешь товар то появляеться цена и щас задача такова что когда выбираешь цвет товара и чтобы картинка товара тоже менялось но когда совмещаю скрипт меняющий картинку со скриптом расчета стоимости то уже страничка не работаеть.... Пожалуйста помогите..........Заранее спасибо

tsigel 15.02.2013 12:10

Помимо value есть name, class, id, в любой из них можно записывать информацию и из любого можно её забрать.

Если совсем не хватает - можно придумать собственный (но не факт что все браузеры воспримут это корректно)

Дай ссылку на страницу

sarik 15.02.2013 12:24

ВОт сылка .там выбарайте вариант и потом выйдет страничка
 
http://starlexx.com/volkswagen/Touareg/


ВОт ссылка .там выбирайте вариант и потом выйдет страничка

tsigel 15.02.2013 12:35

У вас все работает, вы не видите результата, потому что селектора "#test" нет на вашей странице. Вы хотите чтобы менялась картинка автомобиля?

Напишите:
// JavaScript Document 
$(document).ready(function() { 
    $("#type_site").change(function() { 
        var typeOfSite = $("#type_site :selected").val(), 
            formOftype = $("#config_site"); 
             
            /* Обнуляем общую и сумм с НДС в поле вывода */ 
            $("#summ span").text("0"); 
            $("#summ_nds span").text("0"); 

            /* Выбираем соответствующую форму из файла */ 
            formOftype.load("fullform.php",{option:typeOfSite}); 
             
            /* Выбираем все чекбоксы которые были подгружены, в этом нам поможет функция live */ 
            formOftype.live("change",function() { 
                 
                /* При проведении действий пересчитываем сумму в зависимости от выбраных чекбоксов */ 
                var totalSum = 0, /* Полную сумму сначала приравниваем к нулю */ 
                    totalSumNDS = 0, 
                    choiceCMS = parseInt($("#cms_radio :selected").val()); 
                     
                     
                     
                     
                    /* Приплюсовываем сумму стоимости CMS */ 
                    totalSum += choiceCMS; 
                 
                /* Каждое поле ввода проверяем на введеное значение, если больше нуля то считаем его */ 
                $("#inputCell").each(function() { 
                        var inputCell = parseInt($("#inputCell").val()) * parseInt($("#inputCell").attr("name")); 
                        totalSum += inputCell ; 
                }); 
                                 
                /* Пересчитываем все чекбоксы которые отмечены галочкой*/ 
                $(this + "input[name=''] :checked").each(function() { 
                        totalSum += parseInt($(this).val()); 
                    }); 
                 
                /* Подсчет и вывод суммы итоговой */ 
                totalSumNDS = totalSum * 1.18 ; 
                $("#summ span").text(totalSum); 
                $("#summ_nds span").text(totalSumNDS); 
            }); 
    });
     
     $(':radio').click(function (){ 
            if ($(this).attr('checked')) { 
                $('#kartinka').attr('src',this.value); 
            } 
        });
});


Но лучше сделайте через имена или класс, чтобы не было проблем с одинаковыми ценами.

sarik 15.02.2013 13:11

неработает. Помогите
 
сделал как вы написали но неработаеть. использовал ява скрипт
в
отделном страничке тоже не работаеть. Пожалуйста помогите
$(':radio').click(function (){ 
                if ($(this).attr('checked')) { 
                    $('#kartinka').attr('src',this.id); 
                } 
            });
    });


<img id='kartinka' src='http://javascript.ru/forum/images/smilies/blink.gif' />
    <div><label><input type='radio' name='scr' id='http://javascript.ru/forum/images/smilies/smile.gif' /> Screen 1 </label></div>
    <div><label><input type='radio' name='scr' id='http://javascript.ru/forum/images/smilies/wink.gif' />  Screen 2 </label></div>
    <div><label><input type='radio' name='scr' id='http://javascript.ru/forum/images/smilies/laugh.gif' /> Screen 3 </label></div>


Где я ошибься?

ksa 15.02.2013 13:30

Цитата:

Сообщение от sarik
Где я ошибься?

ИД у радиобатонов ППЦ! :D
Для такого лучше использовать тот же value или url...

sarik 15.02.2013 13:33

да и value тоже не работаеть
 
:write: да и value тоже не работаеть:no:

ksa 15.02.2013 13:38

Цитата:

Сообщение от sarik
Где я ошибься?

Как вариант...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function (){ 
	$(':radio').click(function (){ 
		$('#kartinka').attr('src',this.value); 
	});
});
</script>
</head>
<body>
<img id='kartinka' src='http://javascript.ru/forum/images/smilies/smile.gif' />
<div>
	<label><input type='radio' name='scr' value='http://javascript.ru/forum/images/smilies/smile.gif' />Обычный</label>
</div>
<div>
	<label><input type='radio' name='scr' value='http://javascript.ru/forum/images/smilies/angry.gif' />Злой</label>
</div>
<div>
	<label><input type='radio' name='scr' value='http://javascript.ru/forum/images/smilies/laugh.gif' />Весёлый</label>
</div>
</body>
</html>

ksa 15.02.2013 13:39

Цитата:

Сообщение от sarik
value тоже не работаеть

У мну работаеть. :nono:

sarik 15.02.2013 13:53

Все отлично но--
 
Все отлично. но без этого возможно :
<script src="http://code.jquery.com/jquery-latest.js"></script>

Патаму что когда я вставляю это то скрипт рассчета стоимости перестанеть работать:)

Deff 15.02.2013 14:46

sarik,
Вероятно у Вас на странице уже есть jquery - попробуйте без этого тега
<script src="http://code.jquery.com/jquery-latest.js"></script>

ksa 15.02.2013 14:47

sarik, вариант с произвольным атрибутом...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function (){ 
	$(':radio').click(function (){ 
		$('#kartinka').attr('src',$(this).attr('url')); 
	});
});
</script>
</head>
<body>
<img id='kartinka' src='http://javascript.ru/forum/images/smilies/smile.gif' />
<div>
	<label><input type='radio' name='scr' url='http://javascript.ru/forum/images/smilies/smile.gif' />Обычный</label>
</div>
<div>
	<label><input type='radio' name='scr' url='http://javascript.ru/forum/images/smilies/angry.gif' />Злой</label>
</div>
<div>
	<label><input type='radio' name='scr' url='http://javascript.ru/forum/images/smilies/laugh.gif' />Весёлый</label>
</div>
</body>
</html>

sarik 15.02.2013 15:15

не получаеться
 
вот js-файл:
// JavaScript Document
$(document).ready(function() {
	$("#type_site").change(function() {
		var typeOfSite = $("#type_site :selected").val(),
			formOftype = $("#config_site");
			
			/* Обнуляем общую и сумм с НДС в поле вывода */
			$("#summ span").text("0");
			$("#summ_nds span").text("0");

			/* Выбираем соответствующую форму из файла */
			formOftype.load("fullform.php",{option:typeOfSite});
			
			/* Выбираем все чекбоксы которые были подгружены, в этом нам поможет функция live */
			formOftype.live("change",function() {
				
				/* При проведении действий пересчитываем сумму в зависимости от выбраных чекбоксов */
				var totalSum = 0, /* Полную сумму сначала приравниваем к нулю */
					totalSumNDS = 0,
					choiceCMS = parseInt($("#cms_radio :selected").val());
					
					
					
					
					/* Приплюсовываем сумму стоимости CMS */
					totalSum += choiceCMS;
				
				/* Каждое поле ввода проверяем на введеное значение, если больше нуля то считаем его */
				$("#inputCell").each(function() {
						var inputCell = parseInt($("#inputCell").val()) * parseInt($("#inputCell").attr("name"));
						totalSum += inputCell ;
				});
								
				/* Пересчитываем все чекбоксы которые отмечены галочкой*/
				$(this + "input[name=''] :checked").each(function() {
						totalSum += parseInt($(this).val());
					});
				
				/* Подсчет и вывод суммы итоговой */
				totalSumNDS = totalSum * 1.18 ;
				$("#summ span").text(totalSum);
				$("#summ_nds span").text(totalSumNDS);
			});
	});	
	
});


вот php-файл:
<div id="design10">


                <tr><td>
                <div id="navbarExample" class="navbar navbar-static">
                <div class="navbar-inner">
                <div class="container" style="width: auto;">
                 <p><table><thead><tr><td>&nbsp;&nbsp;&nbsp;  &nbsp; &nbsp;</td><td>PRNR</td><td>Цвет&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td><td>Цена*&nbsp;&nbsp; &nbsp; </td></tr></thead></table></p>
                </div></div></div>       
	            </td></tr>
				
			<div data-spy="scroll" data-target="#navbarExample" data-offset="0" class="scrollspy-example">
		  
           <div><p><table>
<tr><td><input type="radio" name="simple" value="0" > </td><td>  WW1  </td><td>Белый `Candy`                                                                </td><td> $ 0,00   </td></tr>
<tr><td><input type="radio" name="simple" value="0">  </td><td>  W4A  </td><td>Синий `Sea Blue`                                                             </td><td> $ 0,00   </td></tr>
<tr><td><input type="radio" name="simple" value="135"></td><td>  W4B  </td><td>Ярко-красный `Flash`                                                         </td><td> $ 135,00 </td></tr>
<tr><td><input type="radio" name="simple" value="235"></td><td>  WMR  </td><td>Черный                                                                       </td><td> $ 235,00 </td></tr>
<tr><td><input type="radio" name="simple" value="450"></td><td>  PH4  </td><td>Оранжевый металлик                                                           </td><td> $ 450,00 </td></tr>
<tr><td><input type="radio" name="simple" value="450"></td><td>  PJW  </td><td>Серый металлик                                                               </td><td> $ 450,00 </td></tr>
<tr><td><input type="radio" name="simple" value="450"></td><td>  PJZ  </td><td>Серебристый металлик                                                         </td><td> $ 450,00 </td></tr>
<tr><td><input type="radio" name="simple" value="450"></td><td>  PJ7  </td><td>Синий `Shadow` металлик                                                      </td><td> $ 450,00 </td></tr>
<tr><td><input type="radio" name="simple" value="450"></td><td>  PLA  </td><td>Коричневый металлик                                                          </td><td> $ 450,00 </td></tr>
<tr><td><input type="radio" name="simple" value="450"></td><td>  PR1  </td><td>Черный `Deep`                                                                </td><td> $ 450,00 </td></tr>
<tr><td><input type="radio" name="simple" value="870"></td><td>  8T2  </td><td>Oryxwei перламутровый                                                       </td><td> $ 870,00 </td></tr>
</table></p></div>	
		   </div></div>

</div>

как сделать чтобы и картинка товара менялось при выборе цвета товара?

ksa 15.02.2013 15:23

Цитата:

Сообщение от sarik
как сделать

У тебя в value наверное цена... Тогда для картинки используй мой вариант с "произвольным атрибутом" (url).

sarik 15.02.2013 15:34

все сделал но дает ошибку
 
Дело в том что когда использую ваш варинт то дает ошибку в файл php
и все доло в строке с jqery и когда убираю эту строку то ошибка исчезаеть но картинка все равно не меняеться

ksa 15.02.2013 15:39

sarik, я х/з что ты там делаешь... :)

Вот как должен выглядеть радиобаттон

<input type="radio" name="simple" value="135" url="тут_УРЛ_картинки" />


Т.о. у тебя там есть цена и УРЛ...

ksa 15.02.2013 15:43

Цитата:

Сообщение от sarik (Сообщение 234212)
Вот второй:
$(document).ready(function (){ 
        $(':radio').click(function (){ 
            if (this.checked) { 
                $('#test').attr('src',this.value); 
            } 
        }); 
    });

Переделай

$(document).ready(function (){ 
        $(':radio').click(function (){ 
              $('#test').attr('src',$(this).attr('url')); 
        }); 
    });


Часовой пояс GMT +3, время: 05:44.