Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   конфлик с JS price (https://javascript.ru/forum/misc/55197-konflik-s-js-price.html)

grima 17.04.2015 11:05

конфлик с JS price
 
когда выделаю все чекбоксы выдает ошибку на этом строке
sum += parseFloat(checkbox[i].parentNode.parentNode.getElementsByClassName("pri ce")[0].textContent);
покопался чо то не понел
строго не судите я начинающий =)
<script>
var checkbox;
window.addEventListener("load",function(){
    checkbox = document.querySelectorAll("table input[type='checkbox']");
    for(var i=0; i<checkbox.length; i++) checkbox[i].addEventListener("change",resultSum);
});
function resultSum(){
    var sum=0;
    for(var i=0; i<checkbox.length; i++)
        if(checkbox[i].checked)
            sum += parseFloat(checkbox[i].parentNode.parentNode.getElementsByClassName("price")[0].textContent);
    document.getElementById("sum").innerHTML = sum;
}
</script>
    <script type="text/javascript">
$(document).ready(function() {
	$("#check_all").click(function () {
		 if (!$("#check_all").is(":checked"))
			$(".checkbox").removeAttr("checked");
		else
			$(".checkbox").attr("checked","checked");
	});
});
</script>
<th><script type="text/javascript">
$(document).ready(function(){
    var summa1 = 9800*2610*1 / 1000000;
    $(".summa94").html("<div class='price'>"+summa1+"</div><input type='checkbox' type='checkbox' name='check_name[]' class='checkbox' value='94'>");      
              });
 </script>9800x2610 (Кол.1)=<span class="summa94"><div class="price">25.578</div><input type="checkbox" name="check_name[]" class="checkbox" value="94" checked="checked"></span></th>
<th><script type="text/javascript">
$(document).ready(function(){
    var summa1 = 1000*1500*3 / 1000000;
    $(".summa91").html("<div class='price'>"+summa1+"</div><input type='checkbox' type='checkbox' name='check_name[]' class='checkbox' value='91'>");      
              });
 </script>1000x1500 (Кол.3)=<span class="summa91"><div class="price">4.5</div><input type="checkbox" name="check_name[]" class="checkbox" value="91" checked="checked"></span></th>
<th><script type="text/javascript">
$(document).ready(function(){
    var summa1 = 8000*1800*1 / 1000000;
    $(".summa85").html("<div class='price'>"+summa1+"</div><input type='checkbox' type='checkbox' name='check_name[]' class='checkbox' value='85'>");      
              });
 </script>8000x1800 (Кол.1)=<span class="summa85"><div class="price">14.4</div><input type="checkbox" name="check_name[]" class="checkbox" value="85" checked="checked"></span></th>
итого<th style="height: inherit;" id="sum">0</th>
выделить все <input type="checkbox" id="check_all">

рони 17.04.2015 11:49

grima,
ненадо считать последний checkbox" id="check_all"
строка 09 добавить красное checkbox.length-1;

grima 17.04.2015 22:57

Но ошибка уже как бы нету но когда все чекбоксе выделяет но не ввыводит результат

рони 17.04.2015 23:06

Цитата:

Сообщение от grima
но когда все чекбоксе выделяет но не ввыводит результат

добавьте в начало строки 22 resultSum()

код ваш ужасен ...

grima 19.04.2015 13:20

Цитата:

Сообщение от рони (Сообщение 367249)
добавьте в начало строки 22 resultSum()

код ваш ужасен ...

и еше после выделение работает и когда отключаю чекбокса после обратно включаю чекбоксы не работает =(((((((

рони 19.04.2015 23:35

grima,

заменить 16 -23 на это
$(document).ready(function() {
	$("#check_all").click(function () {
$(".checkbox").prop("checked", this.checked);
resultSum()
});
});


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