Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Событие к checkbox
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Событие к checkbox

Страниц (1): [1]
 

1. goooooch - 23 Декабря, 2012 - 12:50:57 - перейти к сообщению
Здравствуйте.

Имеем такой html-код:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <input type="checkbox" name="name-one" value="100" id="tying-1" />
  3. <input type="checkbox" name="name-two" value="200" id="tying-2" />
  4. <input type="checkbox" name="name-three" value="300" id="tying-3" />
  5. ...
  6. <div id="your-price">1000</div>
  7.  


Как с помощью js следующее:

1. Выбрали чекбокс #tying-1/#tying-2/#tying-3/... -> к значению #your-price прибавилось value соответствующего чекбокса.

2. Убрали галочку в чекбоксе, соответственно значение #your-price уменьшилось.


?
2. KingStar - 23 Декабря, 2012 - 13:00:41 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1. <input type="checkbox" name="name-one" value="100" id="tying-1" onclick="sumCheck(this);" />
  2. <input type="checkbox" name="name-two" value="200" id="tying-2" onclick="sumCheck(this);" />
  3. <input type="checkbox" name="name-three" value="300" id="tying-3" onclick="sumCheck(this);" />
  4.  
  5. <div id="your-price">1000</div>
  6.  


CODE (javascript):
скопировать код в буфер обмена
  1. function "sumCheck(ch)
  2. {
  3.  
  4.   var sum = document.getElementById('your-price').innerHTML;
  5.  
  6.   if(ch.checked == true)
  7.   {
  8.      sum = sum + ch.value;
  9.   }
  10.   else if(ch.checked == false)
  11.   {
  12.      sum = sum - ch.value;
  13.   }
  14.  
  15.   document.getElementById('your-price').innerHTML = sum;
  16.  
  17. }


как-то так
3. LIME - 23 Декабря, 2012 - 13:04:39 - перейти к сообщению
к числу надо привести
иначе это конкатенация
4. KingStar - 23 Декабря, 2012 - 13:08:49 - перейти к сообщению
да, точно Огорчение


CODE (javascript):
скопировать код в буфер обмена
  1. var sum = document.getElementById('your-price').innerHTML;
  2. sum = parseInt(sum);
5. armancho7777777 - 23 Декабря, 2012 - 13:13:58 - перейти к сообщению
KingStar пишет:

CODE (javascript):
скопировать код в буфер обмена
  1. parseInt(sum, 10);

(Добавление)
Для сравнения:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. var n = '09';
  3. alert(parseInt(n));
  4. alert(parseInt(n, 10));
  5.  
6. KingStar - 23 Декабря, 2012 - 13:18:48 - перейти к сообщению
Если не указан второй параметp, то tсли строка начинается с "0х" - 16, с "0" - 8, в любом другом случае - 10, поэтому не вижу смысла явно указывать
(Добавление)
по твоему примеру ясно, но не думаю что ТС будет себе такие грабли делать
7. goooooch - 23 Декабря, 2012 - 13:31:40 - перейти к сообщению
Спасибо, друзья.

А как на js можно сделать вывод числа 1200000 в виде 1 200 000?
8. KingStar - 23 Декабря, 2012 - 13:39:16 - перейти к сообщению
http://josscrowcroft[dot]github[dot]com/accounting[dot]js/

 

Powered by ExBB FM 1.0 RC1