Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Получить все значения input из div (https://javascript.ru/forum/jquery/48366-poluchit-vse-znacheniya-input-iz-div.html)

salat-production 01.07.2014 07:10

Получить все значения input из div
 
Нужно получить все .val() из контейнера.
Инпуты динамические. По кнопке клац = +1, клац по другой = -1.
Знаю что нужно поюзать .each(), но как то у меня с ним не задалось.

<div id="div">
   <input id="input_1">
   <input id="input_2">
   <input id="input_3">
   ...
   <input id="input_99">
</div>


Эквивалент этому:
$("#input_1").val() + ", "+ $("#input_2").val() + ", "+ $("#input_3").val() + ", "+ $("#...").val() + ", "+ $("#input_99").val()


Подскажите пожалуйста. Заранее спасибо.

krasovsky 01.07.2014 07:45

я лично применяю обычно for но вот тебе each
var values;
$.each($('#div input'),functiion(){
values+=this.value;//у тебя там срока или число?Возможно требуется parseInt()
})
//вроде так должно работать

Aetae 01.07.2014 08:59

http://api.jquery.com/serialize/
http://api.jquery.com/serializearray/
Не?

рони 01.07.2014 09:29

:write:
var values=0;
$.each($('#div input'),functiion(){
values+= +this.value;
})

salat-production 01.07.2014 17:13

Вот что я хотел увидеть. Но не получается вывести все значения в див разом. Выводит только последнее.
Каким образом их записать в переменную и собрать в строку?

$(document).ready(function(){
  $( "#fieldset input" ).each(function( id ) 
{
    var screens = ( "\"" + $(this).attr('id') + "\" : " + $( this ).val() + "," );
    $("#status").html(screens);
  });
});
<div id="status"></div> 
<span id="fieldset">
  <input class="id_name" name="id_name[]" id="id_name_1" value="A"/>
  <input class="id_name" name="id_name[]" id="id_name_2" value="B"/>
  <input class="id_name" name="id_name[]" id="id_name_3" value="C"/>
</span>
Код:

"id_name_1" : A
"id_name_2" : B
"id_name_3" : C


рони 01.07.2014 18:03

salat-production,
не судьба воспользоваться кодом что вам показали ?

рони 01.07.2014 18:10

salat-production,
<!DOCTYPE HTML>
<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
  	$(function ()
  	  {var screens = '';
  	    $("#fieldset input").each(function()
  	      {
  	        screens += '"' + this.id + '" : ' + this.value + '<br>';
  	      }
  	    );
  	    $("#status").html(screens);
  	  }
  	)
  </script>
</head>

<body>
<div id="status"></div>
<span id="fieldset">
  <input class="id_name" name="id_name[]" id="id_name_1" value="A"/>
  <input class="id_name" name="id_name[]" id="id_name_2" value="B"/>
  <input class="id_name" name="id_name[]" id="id_name_3" value="C"/>
</span>
</body>
</html>

salat-production 01.07.2014 18:53

Да блин, суть в том что мне нужно вывести и еще передать аяксом.
Так вот не получается никак использовать переменную и в выводе и в оправляемом массиве. Либо здесь, либо там буксует. :-/

рони 01.07.2014 19:26

salat-production,
так сделайте 2 переменных с нужным вам содержимым :-? одну для показа вторую для отправки


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