Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.04.2015, 21:42
Новичок на форуме
Отправить личное сообщение для ar_arov Посмотреть профиль Найти все сообщения от ar_arov
 
Регистрация: 09.04.2015
Сообщений: 3

Сумма всех не пустых ячеек столбца
пишу вот так

<script>
function sum() {
    var table = document.getElementById('table1'),
        trcount = table.rows.length,
 		rez = 0;	
		for(var i=2; i<=trcount-1; i++) {
				if(document.getElementById('result'+i).innerHTML != null) {
					rez = rez + document.getElementById('result'+i).innerHTML*1;
				};
			};
		document.getElementById('r').innerHTML = rez;	
};
</script>


<tr>
        <td>1</td>
        <!-- td>1</td -->
        <td>Бульон куриный</td>
        <td><input class="in" id="ed1" name="val[1]" type="number" min="0" onchange="getElementById('result1').innerHTML=(parseFloat(getElementById('price1').innerHTML)*document.getElementById('ed1').value).toFixed(2);"></td>
        <td>л</td>
        <td align="right" id="price1">11.00</td>
        <td align="right" id="result1"></td>
      </tr>
      <tr>
        <td>2</td>
        <!-- td>2</td -->
        <td>Бульон мясной</td>
        <td><input class="in" id="ed2" name="val[2]" type="number" min="0" onchange="getElementById('result2').innerHTML=(parseFloat(getElementById('price2').innerHTML)*document.getElementById('ed2').value).toFixed(2);"></td>
        <td>л</td>
        <td align="right" id="price2">11.00</td>
        <td align="right" id="result2"></td>
      </tr>
      <tr>
        <td>3</td>
        <!-- td>3</td -->
        <td>Сыворотка</td>
        <td><input class="in" id="ed3" name="val[3]" type="number" min="0" onchange="getElementById('result3').innerHTML=(parseFloat(getElementById('price3').innerHTML)*document.getElementById('ed3').value).toFixed(2);"></td>
        <td>л</td>
        <td align="right" id="price3">10.00</td>
        <td align="right" id="result3"></td>
      </tr>
      <tr>
        <td>4</td>
        <!-- td>4</td -->
        <td>Варенье абрикосовое</td>
        <td><input class="in" id="ed4" name="val[4]" type="number" min="0" onchange="getElementById('result4').innerHTML=(parseFloat(getElementById('price4').innerHTML)*document.getElementById('ed4').value).toFixed(2);"></td>
        <td>шт</td>
        <td align="right" id="price4">200.00</td>
        <td align="right" id="result4">1123</td>
      </tr>
      <tr>
        <td>5</td>
        <!-- td>5</td -->
        <td>Варенье айвовое</td>
        <td><input class="in" id="ed5" name="val[5]" type="number" min="0" onchange="getElementById('result5').innerHTML=(parseFloat(getElementById('price5').innerHTML)*document.getElementById('ed5').value).toFixed(2);"></td>
        <td>шт</td>
        <td align="right" id="price5">200.00</td>
        <td align="right" id="result5">222</td>
      </tr>
      <tr>
        <td>6</td>
        <!-- td>6</td -->
        <td>Варенье виноградное</td>
        <td><input class="in" id="ed6" name="val[6]" type="number" min="0" onchange="getElementById('result6').innerHTML=(parseFloat(getElementById('price6').innerHTML)*document.getElementById('ed6').value).toFixed(2);"></td>
        <td>шт</td>
        <td align="right" id="price6">200.00</td>
        <td align="right" id="result6">333</td>
      </tr>
      <tr>
        <td>7</td>
        <!-- td>7</td -->
        <td>Варенье вишневое</td>
        <td><input class="in" id="ed7" name="val[7]" type="number" min="0" onchange="getElementById('result7').innerHTML=(parseFloat(getElementById('price7').innerHTML)*document.getElementById('ed7').value).toFixed(2);"></td>
        <td>шт</td>
        <td align="right" id="price7">200.00</td>
        <td align="right" id="result7">222</td>
      </tr>
 <tr>
        <td>&nbsp;</td>
        <!-- td>&nbsp;</td -->
        <td><strong>
          <input type="button" onclick="sum()" value="Итого:">
          <span id="r">0</span></strong></td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>


Не могу победить JS чтоб складывался последний столбец
Ответить с цитированием
  #2 (permalink)  
Старый 09.04.2015, 21:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

ar_arov,
что не получается то?
Ответить с цитированием
  #3 (permalink)  
Старый 10.04.2015, 00:29
Новичок на форуме
Отправить личное сообщение для ar_arov Посмотреть профиль Найти все сообщения от ar_arov
 
Регистрация: 09.04.2015
Сообщений: 3

получить сумму крайнего столбца в <span id="r">0</span>

При нажатии на "Итого" в консоль пишется Uncaught TypeError: Cannot read property 'innerHTML' of null

Последний раз редактировалось ar_arov, 10.04.2015 в 00:34.
Ответить с цитированием
  #4 (permalink)  
Старый 10.04.2015, 02:06
Новичок на форуме
Отправить личное сообщение для ar_arov Посмотреть профиль Найти все сообщения от ar_arov
 
Регистрация: 09.04.2015
Сообщений: 3

В общем все работает, как обычно это бывает сам дурак )
не исключал из таблицы первую(заголовки столбцов) и последнюю строку(строка с итого)
Ответить с цитированием
  #5 (permalink)  
Старый 10.04.2015, 16:28
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

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

Каноничная структура

table
  caption
  thead
  tfoot
  tbody
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск