 
			
				26.08.2016, 06:13
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.07.2016 
					
					
					
						Сообщений: 1,332
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Похоже он эти национальные запятые в точки превращает для float. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				27.08.2016, 11:23
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.08.2015 
					
					
					
						Сообщений: 21
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 суммирую все данные введенных ячеек вычисляю процент от всех введенных данных добавляю еще одну цифру которую распределяю в процентном соотношении по всем ячейкам и вывожу получившийся результат по каждой ячейке при это разделив каждое значение на определенную цифру. 
Про точки и запятые превращаю введенные данные в число не зависимо от того как ввели число с запятой или с точкой 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				27.08.2016, 12:31
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				процент от общей суммы
			 
			
		
		
		
		UJKJDF, 
ввести числа в инпуты ...
 
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script>
window.addEventListener("DOMContentLoaded", function() {
    function c() {
        var d = a.reduce(function(b, a) {
            return b + a
        }, 0);
        a.forEach(function(a, c) {
            var e = 100 * a / d,
                h = 80 * e / 100,
                g = f[c].cells;
            g[1].innerHTML = e.toFixed(2) + "%";
            g[2].innerHTML = h.toFixed(2)
        })
    }
    var f = document.querySelectorAll("tbody tr"),
        a = [];
    [].forEach.call(f, function(d, b) {
        a[b] = 0;
        d.querySelector("input").addEventListener("input", function() {
            a[b] = +this.value.replace(",", ".") || 0;
            c()
        })
    })
});
  </script>
</head>
<body>
<table width="400" summary="" >
    <thead>
        <tr>
            <th>num</th>
            <th>%</th>
            <th>x = 80</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><input type="text"></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td><input type="text"></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td><input type="text"></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td><input type="text"></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
</body>
</html>
 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				30.08.2016, 21:48
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.08.2015 
					
					
					
						Сообщений: 21
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Да пойдет не если я захочу поставить вместо <th>x = 80</th> 
<th><input type="text" ></th> 
ячейку в которую буду вводить число 
 
a.forEach(function(a, c) {
            var e = 100 * a / d,
                h = 80 * e / 100, // что здесь надо поставить вместо 80?
                g = f[c].cells;
            g[1].innerHTML = e.toFixed(2) + "%";
            g[2].innerHTML = h.toFixed(2)
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				30.08.2016, 21:51
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 UJKJDF, 
 а как вы обычно получаите значение из инпута? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				30.08.2016, 22:10
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		UJKJDF, 
нулевая ячейка для первого инпута, в сумме всего не учавствует, таблице дан класс.
  
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script>
window.addEventListener("DOMContentLoaded", function() {
    function c() {
        var d = a.reduce(function(b, a, i) {
            return  i ? b + a : 0
        }, 0);
        a.forEach(function(k, c) {
            if(!c||!d) return;
            var e = 100 * k / d,
                h = a[0] * e / 100,
                g = f[c].cells;
            g[1].innerHTML = e.toFixed(2) + "%";
            g[2].innerHTML = h.toFixed(2)
        })
    }
    var f = document.querySelectorAll(".harvest tr"),
        a = [];
    [].forEach.call(f, function(d, b) {
        a[b] = 0;
        d.querySelector("input").addEventListener("input", function() {
            a[b] = +this.value.replace(",", ".") || 0;
            c()
        })
    })
});
  </script>
</head>
<body>
<table width="400" class="harvest" >
    <thead>
        <tr>
            <th>num</th>
            <th>%</th>
            <th><input type="text"></th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><input type="text"></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td><input type="text"></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td><input type="text"></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td><input type="text"></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
</body>
</html>
 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				31.08.2016, 19:04
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.08.2015 
					
					
					
						Сообщений: 21
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		вывожу результат что хотел сделать 
теперь возник вопрос как при выборе радиокнопки (С НДС) 
h = k + a[0] * e / 100, (еще разделить на 1.18) 
 
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title> poni</title>
<script>
window.addEventListener("DOMContentLoaded", function() {
    function c() {
        var d = a.reduce(function(b, a, i) {
            return  i ? b + a : 0
        }, 0);
        a.forEach(function(k, c) {
             if(!c||!d) return;
            var e = 100 * k / d, 
            h = k + a[0] * e / 100,
                 g = f[c].cells;
            g[2].innerHTML = e.toFixed(0) + "%";
            g[3].innerHTML = h.toFixed(4)  
        })
    }
    var f = document.querySelectorAll("tbody tr"),
        a = [];
    [].forEach.call(f, function(d, b) {
        a[b] = 0;
        d.querySelector("input").addEventListener("input", function() {
            a[b] = +this.value.replace(",",".") || 0;
            c()
        })
    })
});
</script>
</head>
Распределение доставки по позициям 
<table summary="" border="1" bordercolor="red" style="color:red;font-size:20px;">
    <thead>
        <tr>
            <th>ЦЕНЫ<br> <input  type="radio" name="disc" checked value="1" >Без НДС
                                <input  type="radio" name="disc"        value="1.18" >С НДС</th>
            <th>ВВОДИМ ЦЕНУ</th>
            <th>%</th>
            <th>Результат без НДС</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td width="250">Укажите стоимость доставки</td>
            <td><input type="text" style="color:red;font-size:20px;" placeholder="ДОСТАВКА" size="15" maxlength="15"></td>
            <td align="center" width="50"></td>
            <td align="left" width="100"></td>
        </tr>
        <tr>
            <td align="right">Цена =</td>
            <td><input type="text" style="color:red;font-size:20px;" placeholder="ВВОДИМ ЦЕНУ" size="15" maxlength="15"></td>
            <td></td>
            <td></td>
        </tr>
     
        <tr>
            <td align="right">Цена =</td>
            <td><input type="text" style="color:red;font-size:20px;" placeholder="ВВОДИМ ЦЕНУ" size="15" maxlength="15"></td>
            <td></td>
            <td></td>
        </tr>
       <tr>
            <td align="right">Цена =</td>
            <td><input type="text" style="color:red;font-size:20px;" placeholder="ВВОДИМ ЦЕНУ" size="15" maxlength="15"></td>
            <td></td>
            <td></td>
        </tr>
       
    </tbody>
</table>
<body>
</body>
</html>
 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				31.08.2016, 19:37
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		UJKJDF,
    учебник почитать может ... 
 if(чекбокс.чекед) h /= 1.18;  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				01.09.2016, 16:48
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.08.2015 
					
					
					
						Сообщений: 21
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		делю на значение выбранной кнопки 
value=1 или 1.18 предварительно сделав этот текст числом если это надо сделать
 
var rad = f.elements['disc'].value;  // что должно быть вместо f ?
h = (k + a[0] * e / 100)/ parseFloat(rad);
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				01.09.2016, 19:10
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 21.09.2015 
					
					
					
						Сообщений: 196
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		попаразитировала на последнем примере от  рони, 
 так должно быть?
 
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title> poni</title>
<script>
window.addEventListener("DOMContentLoaded", function() {
    function c() {
        var d = a.reduce(function(b, a, i) {
            return  i ? b + a : 0
        }, 0);
        a.forEach(function(k, c) {
            if(!c||!d) return;
			//Добавила
			var koef = document.querySelectorAll("[name='disc']")[1].checked ? 1.18 : 1
            var e = 100 * k / d,
                h = a[0] * e / 100 / koef,//Добавила
                g = f[c].cells;
            g[2].innerHTML = e.toFixed(2) + "%";
            g[3].innerHTML = h.toFixed(2)
        })
    }
    var f = document.querySelectorAll("tbody tr"),
        a = [];
    [].forEach.call(f, function(d, b) {
        a[b] = 0;
        d.querySelector("input").addEventListener("input", function() {
            a[b] = +this.value.replace(",", ".") || 0;
            c()
        })
    })
	//Добавила
	var disc = document.querySelectorAll("[name='disc']");
	[].forEach.call(disc, function(el) {
        el.addEventListener("click", c)
    })
});
</script>
</head>
Распределение доставки по позициям
<table summary="" border="1" bordercolor="red" style="color:red;font-size:20px;">
    <thead>
        <tr>
            <th>ЦЕНЫ<br> <input  type="radio" name="disc" checked value="1" >Без НДС
                                <input  type="radio" name="disc"        value="1.18" >С НДС</th>
            <th>ВВОДИМ ЦЕНУ</th>
            <th>%</th>
            <th>Результат без НДС</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td width="250">Укажите стоимость доставки</td>
            <td><input type="text" style="color:red;font-size:20px;" placeholder="ДОСТАВКА" size="15" maxlength="15"></td>
            <td align="center" width="50"></td>
            <td align="left" width="100"></td>
        </tr>
 
        <tr>
            <td align="right">Цена =</td>
            <td><input type="text" style="color:red;font-size:20px;" placeholder="ВВОДИМ ЦЕНУ" size="15" maxlength="15"></td>
            <td></td>
            <td></td>
        </tr>
      
        <tr>
            <td align="right">Цена =</td>
            <td><input type="text" style="color:red;font-size:20px;" placeholder="ВВОДИМ ЦЕНУ" size="15" maxlength="15"></td>
            <td></td>
            <td></td>
        </tr>
       <tr>
            <td align="right">Цена =</td>
            <td><input type="text" style="color:red;font-size:20px;" placeholder="ВВОДИМ ЦЕНУ" size="15" maxlength="15"></td>
            <td></td>
            <td></td>
        </tr>
        
    </tbody>
</table>
<body>
</body>
</html>
 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |