Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/141: Рейтинг темы: голосов - 141, средняя оценка - 4.51
2 / 2 / 0
Регистрация: 13.11.2008
Сообщений: 210

Получить значение input

12.05.2015, 19:53. Показов 26787. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Скажите, как получить значение конкретного input, если имеется тег со следующими атрибутами
HTML5
1
<input name="count_to_basket"  style="width:9px; height:35px; "  maxlenght="2" type="text" id=<?=$arItem['ID']?>>
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.05.2015, 19:53
Ответы с готовыми решениями:

Получить значение из input
var inputname = $('#name'), inputsecondname = $('#secondname'), name = inputname.value, secondname = inputsecondname.value; ...

Получить значение input
Скажем есть такая ситуация, где в цикле выводится к примеру 5 разных input &lt;p&gt;&lt;label&gt;&lt;input type=&quot;text&quot;...

Как получить значение input-ов
например у меня есть несколько input-ов с атрибутом class='class1' и несколько input-ов с атрибутом class='class2'. мне нужно собрать...

19
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.05.2015, 20:34
JavaScript
1
$('input[name="count_to_basket"]').val();
0
2 / 2 / 0
Регистрация: 13.11.2008
Сообщений: 210
12.05.2015, 22:15  [ТС]
А если таких input' ов с таким же name будет 10, то как получать значение для конкретного input?
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.05.2015, 22:44
Цитата Сообщение от pro1004ok Посмотреть сообщение
А если таких input' ов с таким же name будет 10
У вас же не в одной форме несколько таких input-ов? Поэтому можно отталкиваться от конкретной формы. А даже, если в одной, то можно достучаться по индексу:
JavaScript
1
$('input[name="count_to_basket"]:eq(3)').val(); // Четвертый input
0
2 / 2 / 0
Регистрация: 13.11.2008
Сообщений: 210
12.05.2015, 22:52  [ТС]
Цитата Сообщение от Lazy_Den Посмотреть сообщение
У вас же не в одной форме несколько таких input-ов? Поэтому можно отталкиваться от конкретной формы. А даже, если в одной, то можно достучаться по индексу:
JavaScript
1
$('input[name="count_to_basket"]:eq(3)').val(); // Четвертый input
Всё это в одной форме. Сколько инпутов, заранее не известно. Через id можно ли как-то достучаться до конкртного инпута?
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.05.2015, 22:59
Цитата Сообщение от pro1004ok Посмотреть сообщение
Всё это в одной форме.
у вас несколько элементов формы с одним именем и даже не как массив (name="count_to_basket[]")?
Цитата Сообщение от pro1004ok Посмотреть сообщение
Через id можно ли как-то достучаться до конкертного инпута?
Конечно можно, только у меня было ощущение, что id элемента вы не знаете.
JavaScript
1
$('id_of_element').val();
0
2 / 2 / 0
Регистрация: 13.11.2008
Сообщений: 210
12.05.2015, 23:26  [ТС]
Цитата Сообщение от Lazy_Den Посмотреть сообщение
$('id_of_element').val();
А почему нет атрибута name? Или он не нужен?
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
12.05.2015, 23:29
Цитата Сообщение от pro1004ok Посмотреть сообщение
А почему нет атрибута name?
Т.к. на странице не может быть несколько элементов с одним id, то и ничего дополнительного не нужно, чтоб к этому элементу обратиться. И в селекторе перед id не забудьте решетку:
JavaScript
1
$('#id_of_element')
1
2 / 2 / 0
Регистрация: 13.11.2008
Сообщений: 210
13.05.2015, 10:23  [ТС]
Не работает. id получаю динамически (в коде тега это было написано)
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
13.05.2015, 11:26
pro1004ok, так а зачем вы спрашивали про id? Я же и предполагал изначально то, что его вы не знаете. В общем, у вас же не абстрактный вопрос о том, какие есть способы достучаться до элемента, а реальная ситуация, при которой значение какого-то input-а нужно получить. Так опишите эту ситуацию: какое событие предшествует, какая разметка и т.д. А то мы будем долго "ходить вокруг да около". Можно психануть и отфильтровать по всем доступным атрибутам и признакам:
JavaScript
1
2
3
4
5
var inpVal = $('input[type=text][name=count_to_basket][id]').filter(function(){
    var $that = $(this),
        styles = $that.css(['width', 'height']);
    return styles.width == '9px' && styles.height == '35px' &&  $that.attr('maxlenght') == 2;
}).val();
но вы же опять скажете, что input-ов с такими атрибутами и их значениями на странице может быть много. Поэтому добавьте конкретики и вашу задачу решим быстрее.
0
2 / 2 / 0
Регистрация: 13.11.2008
Сообщений: 210
13.05.2015, 12:17  [ТС]
В разметке ниже тот самый input
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div class="form-order">
            <form class="add_to_cart">
            <fieldset>
 
                <div style="width:40px;" class="row">
                    <div style="width:50px; position:absolute;" class="field-number">
                    <input name="count_to_basket" id=<?=$arItem['ID']?> "   maxlenght="3" type="text">
                    <span  class="top">top</span>
                    <span  class="bottom">bottom</span>
                    </div>
 
                </div>
            </fieldset>
            </form>
        </div>
<div class='addtocart' productid=<?=$arItem['ID']?>  productname='<?=str_replace("\"","\'",TruncateText($arItem['~NAME'],40))?>'>
                Добавить в корзину
            </div>
Далее, код который, в том числе, получает значения input

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<script>
    //добавляем в корзину
    $(document).ready(function(){
        $('.products .addtocart').click(function(){
            ga("send","event","item","add2cart","catalog");
//          quantity = 1;
        var quantity = $('input[name="count_to_basket"][id="<?=$arItem['ID']?>"]').val();
        var productid = $(this).attr('productid');
        var productName = $(this).attr('productname');
        var basketquantity = $('header .basket-box .basket').attr('rel');
 
//      alert(quantity);
        var newquantity = parseInt(quantity) + parseInt(basketquantity);
            function declOfNum(number, titles)  {  
                cases = [2, 0, 1, 1, 1, 2];  
                return titles[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ];  
            }
            $('header .basket-box .basket a').html(newquantity + ' ' + declOfNum(newquantity, ['товар ', 'товара ', 'товаров ']));
            $('header .basket-box .basket').attr('rel',newquantity);
 
            $.ajax({
                type: "GET",
                url: "/ajax/add_to_basket.php",
                data: "PRODUCT_ID="+productid+"&QUANTITY="+quantity
            });
            OpenAddInCart(productName);
        });
 
   
    })
</script>
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
13.05.2015, 12:27
pro1004ok, пробуйте так:
JavaScript
1
var quantity = $(this).prev('.form-order').find('[name=count_to_basket]').val();
Добавлено через 1 минуту
На всякий случай, если код выше не отработает правильно, такой вариант:
JavaScript
1
var quantity = $(this).siblings('.form-order').find('[name=count_to_basket]').val();
0
2 / 2 / 0
Регистрация: 13.11.2008
Сообщений: 210
13.05.2015, 12:32  [ТС]
Работает, но только для первого выведенного input. Для последующих - неверное значение. Так что нужно как-то id сообщать.
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
13.05.2015, 12:36
pro1004ok, элемент с классом ".products" - это родительский для каждого товара, где и кнопка "Добавить в корзину", и тот самый input? Или же это общая обёртка для всех групп товаров?
0
2 / 2 / 0
Регистрация: 13.11.2008
Сообщений: 210
13.05.2015, 12:40  [ТС]
<ul class="products"> - это общая обёртка для всех товаров.
0
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
13.05.2015, 12:50
Лучший ответ Сообщение было отмечено pro1004ok как решение

Решение

pro1004ok, Значит обёрткой для отдельно товара, по всей логике, служит элемент <li>.
JavaScript
1
var quantity = $(this).closest('li').find('[name=count_to_basket]').val();

Не по теме:

P.S. Кстати, разметка у вас грязная. Например, ниже - непонятная кавычка после id? да еще и с пробелом...

HTML5
1
<input name="count_to_basket" id=<?=$arItem['ID']?> "   maxlenght="3" type="text">

1
2 / 2 / 0
Регистрация: 13.11.2008
Сообщений: 210
09.06.2015, 12:29  [ТС]
А как тогда получить значение input, если имеется несколько ul списков с одинаковым классом products

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<ul class="products">
<li><input name="count_to_basket"></li>
<li><input name="count_to_basket"></li>
<li><input name="count_to_basket"></li>
</ul>
 
<ul class="products">
<li><input name="count_to_basket"></li>
<li><input name="count_to_basket"></li>
 
</ul>
 
<ul class="products">
<li><input name="count_to_basket"></li>
<li><input name="count_to_basket"></li>
</ul>
0
312 / 106 / 69
Регистрация: 18.04.2015
Сообщений: 346
09.06.2015, 12:33
JavaScript
1
2
3
$('.products input').each(function(){
$(this).val(); //здесь будет значение при переборе инпутов
});
1
2 / 2 / 0
Регистрация: 13.11.2008
Сообщений: 210
09.06.2015, 12:47  [ТС]
А если еще кнопки добавлены для этих input ов, то как с ними быть? как сделать так чтобы корректно увеличивалось уменьшалось значение для input
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
$('.products input').each(function(){
 
$("#row #top1").click(function(){
    var count1=parseInt($(this).val());
 
    if (isNaN(count1))
{
 
    $(this).val(1);
 
}
    else if (!isNaN(count1))
{
        countPlusMinus(this, 1);
}
    });
 
$("#row #bottom1").click(function(){
        countPlusMinus(this, -1);
    
    });
 
function countPlusMinus(obj, change){
    change = parseInt(change);
    var $obj = $(obj);
    var curCount = parseInt($obj.val());
    if(!isNaN(curCount) && !isNaN(change)) 
{
        var count = curCount + change;
        if(count>0 && count<999)
{
            $obj.val(count);
        }
        if(count==null)
        {
            count=1;
            $obj.val(count);
        }
    }
}
 
});
0
2 / 2 / 0
Регистрация: 13.11.2008
Сообщений: 210
10.06.2015, 14:31  [ТС]
Тема актуальна. Кто-нибудь может подсказать? Очень надо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.06.2015, 14:31
Помогаю со студенческими работами здесь

Получить значение input в IE7
Здравствуйте. Данный код $(document).ready(function() { $(&quot;.txFilter&quot;).click(function() { // id строки var...

Как получить значение с input text?
Добрый день. Заполняю таблицу из Spring: &lt;tr th:each=&quot;customerOrder : ${selected}&quot; &gt; &lt;td&gt; &lt;img...

Получить значение input после нажатия кнопки
доброго времени суток. я хочу чтобы у меня после каждого нажатия на кнопку клавиатуры в input, выводился alert со значением input. ...

Получить значение текста в input при его изменении.
Допустим у меня есть такой вот input: &lt;input id=&quot;answer&quot; type=&quot;text&quot; value=&quot;какое-то значение&quot; /&gt; Как мне получать значение, когда...

Получить значение input в javascript
Здравствуйте все! Пишу сайт на РНР, в одном месте нужно сделать что-то типа маленького калькулятора. Т.к. РНР исполняется на стороне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru