Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Значение для input (https://javascript.ru/forum/misc/32222-znachenie-dlya-input.html)

neira 08.10.2012 12:15

Значение для input
 
Приветствую, JS только начал учить. Возникла необходимость привязать значения input, т.е. есть два чекбокса, у первого например значение 3, а у второго 5, нажав на них оба нужно получить значение 8, вопрос в том как это реализовать? Привязывать через переменные? Как?

bes 08.10.2012 12:48

сложить их value

ksa 08.10.2012 14:16

Цитата:

Сообщение от neira
JS только начал учить. Возникла необходимость привязать значения input

Т.е. изучение JS на том и остановилось? :)

neira 08.10.2012 14:24

Цитата:

Сообщение от bes (Сообщение 208786)
сложить их value

Каким образом?

neira 08.10.2012 14:25

Цитата:

Сообщение от ksa (Сообщение 208798)
Т.е. изучение JS на том и остановилось? :)

Эта ситуация требует более быстрого решения, самому нет времени к тому же пока разбиратся

ksa 08.10.2012 14:25

neira, пора таки читать буквари... :D В этом и заключается смысл изучения чего-либо.

ksa 08.10.2012 14:26

Цитата:

Сообщение от neira (Сообщение 208802)
Эта ситуация требует более быстрого решения, самому нет времени к тому же пока разбиратся

Больше вопросов не имею! :lol:

bes 08.10.2012 14:29

Цитата:

Сообщение от neira
Каким образом?

выложи тестовый пример с возможностью запуска [html run] со своим решением

neira 08.10.2012 14:59

Цитата:

Сообщение от bes (Сообщение 208805)
выложи тестовый пример с возможностью запуска [html run] со своим решением

Так в том и то и дело что примера нет, т.к. не знаю с чего начать

neira 08.10.2012 14:59

Цитата:

Сообщение от ksa (Сообщение 208804)
Больше вопросов не имею! :lol:

ты б шутник по сути что сказал

bes 08.10.2012 15:01

Цитата:

Сообщение от neira
Так в том и то и дело что примера нет, т.к. не знаю с чего начать

начни с создания html-кода

neira 08.10.2012 15:35

))))окей

есть 2 инпута

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<body>
	
	<input type="checkbox" name="three" value="" /> -3
	<input type="checkbox" name="eight" value="" /> - 8
	<input type="sumbit" />
	
	<script type="text/javascript">
	
	Что собственно тут создать? каким макаром через value?
	
	</script>
	
	
	
</body>
</html>

bes 08.10.2012 16:05

смотри что не так

<script src="http://code.jquery.com/jquery-latest.min.js"></script>

<input type="checkbox" name="three" value="3" /> 
<input type="checkbox" name="eight" value="8" />
<input type="submit" />

<script>
$(function () {
	$('body').bind('click', function (e) {
		if (e.target.type == 'checkbox') {
			var num = 0;
			$(':checked').each(function () {
				num += parseInt(this.value);
			});
			alert(num);
		}
	});
});
</script>

nerv_ 08.10.2012 17:07

bes, насколько помню, если мы используем квери, то это
var e = e || event;
var target = e.target || e.srcElement;

не надо писать. Объект события прилетает уже правильный.

bes 08.10.2012 17:20

аа, ну тогда гуд, оставляем только var target = e.target;

PS: только начал изучать этот брейнторк, буду тоже ниндзей :D

nerv_ 08.10.2012 17:31

<script src="http://code.jquery.com/jquery-latest.min.js"></script>

<input type="checkbox" name="three" value="3" />
<input type="checkbox" name="eight" value="8" />
<input type="submit" />

<script>
    
    var body = $( 'body' );
    var inputs = body.find( 'input:checkbox' );
    
    body.on( 'click', ':checked', function() {
        var sum = 0;
        if ( inputs.filter( ':checked' ).length === 2 ) {
            inputs.each( function() {
                sum += +this.value;
            });
            alert( sum );
        }
    });
    
</script>


Цитата:

Сообщение от bes
PS: только начал изучать этот брейнторк, буду тоже ниндзей

:D

kosinus2012 08.10.2012 17:45

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
 
<body>
     
 	<form id='input'> 
    <input type="checkbox" name="three" value="-3" /> -3
    <input type="checkbox" name="eight" value="-8" /> -8
    <input id="res" type="sumbit" />
    </form> 
   
  <script type="text/javascript">
     
    
      var input = document.getElementById('input');
      var res = document.getElementById('res');
      var sum = 0;
      
      input.onclick = function(e) {
        
      e = e || window.event;
      var target = e.target || e.srcElement;


       while(target != input) {
       
       if (target.nodeName == 'INPUT') {
         
         if(target.checked){
           sum += parseInt(target.value);
           res.value = sum;
       	   return;
         }
       
       target = target.parentNode;     
       }  
     }
   }  

  </script>
     
</body>
</html>


Думаю этого достаточно)

neira 08.10.2012 20:06

Всем спасибо, вопрос исчерпан.


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