Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Текст в Javascript (https://javascript.ru/forum/dom-window/62337-tekst-v-javascript.html)

рони 06.04.2016 08:16

Sylar V,
return str + el.value

Sylar V 06.04.2016 09:54

рони, А можно, пожалуйста, подробнее? Может как-то можно вставить див? Мне нужно получать текст перед значением.
К примеру, чтобы приходило:
Диаметр: значение (.function1)<br />
Масса: значение (.function2)<br />

рони 06.04.2016 10:02

Sylar V,
(непереводимый испанский мат) ... по русски напишите на английском, чего хотите сделать. например html до и после

Sylar V 06.04.2016 10:05

рони,
Вот JS:
$(function(){
    var a = $.map($('.function1, .function2, .function3'),function(el) {
    return el.value
}) ;
alert(JSON.stringify(a)) ;
})


Сейчас данные приходят вот так:
1,2,3
Нужно, чтобы приходили вот так:
Диаметр: 1
Масса: 2
Размер: 3

Я уже не знаю, как объяснить...

Dilettante_Pro 06.04.2016 10:26

Цитата:

Сообщение от Sylar V (Сообщение 413320)
рони,
Вот JS:
$(function(){
    var a = $.map($('.function1, .function2, .function3'),function(el) {
    return el.value
}) ;
alert(JSON.stringify(a)) ;
})


Сейчас данные приходят вот так:
1,2,3
Нужно, чтобы приходили вот так:
Диаметр: 1
Масса: 2
Размер: 3

Я уже не знаю, как объяснить...

Sylar V,
А откуда эти данные берутся? Там, где они находятся, по идее, должны быть и соответствующие слова. Иначе кто знает, что значит какое число?

рони 06.04.2016 10:37

Цитата:

Сообщение от Sylar V
Нужно, чтобы приходили вот так:
Диаметр: 1
Масса: 2
Размер: 3

ок

рони 06.04.2016 10:56

Sylar V,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

  <script>

    $(function() {
        var a = ["Диаметр","Масса","Размер"].reduce(function(b, a, c) {
            b[a] = document.querySelector(".function" + (c + 1)).value;
            return b
        }, {});
        alert(JSON.stringify(a))
    })

  </script>
</head>

<body>
<input type="text" class="function1"  value="1">
<input type="text" class="function2"  value="2">
<input type="text" class="function3"  value="3">
</body>
</html>

рони 06.04.2016 13:08

Sylar V,
document.querySelector([".diametr",".massa",".razmer"][c]).value;

Sylar V 12.04.2016 00:37

рони, Большое спасибо! Все работает, но такой вопрос, стоит мне вписать еще классы, как код не работает. Как сделать 5 значений, чтобы каждое было на новой строчке?

Dilettante_Pro 12.04.2016 13:11

Sylar V,
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

   <script>
      $(function () {
              var arr = [];
              $('[class^="function"]').each(function () {
                  arr.push( $(this).attr('name'));
               });
              var a = arr.reduce(function (b, a, c) {
                  b[a] = document.querySelector(".function" + (c + 1)).value;
                  return b
              }, {});
              alert(JSON.stringify(a))
              });
  </script>
</head>

<body>
<input type="text" class="function1" name="Диаметр" value="1">
<input type="text" class="function2" name="Масса" value="2">
<input type="text" class="function3" name="Размер" value="3">
<input type="text" class="function4" name="Материал" value="4">
<input type="text" class="function5" name="Цвет" value="5">
</body>
</html>


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