Не считывается значение с поля input
Доброго времени суток!
есть следующий фрагмент кода settings = $.extend({ clCountr: 'shs-count2', clTitle: 'shs-title', clPrice: 'shs-price', clLink: 'shs-link', clButton: 'shs-but', nameHidden: 'shs-id' }, options); return this.each(function(i){ var co = $("input[name='"+settings.clCountr+"']:eq(0)",this).val(); var parent = this; var sId = $("input[name='"+settings.nameHidden+"']:eq(0)",this).val(); var sTitle = $("."+settings.clTitle+":eq(0)",this).text(); var sPrice = $("."+settings.clPrice+":eq(0)",this).text(); в данном коде не могу считать информацию в переменую co... обьясните пожалуйста почему???? ХТМЛ Фрагмент <div class="shop-stuff"> <div class="relative"> <div class="shs-title">123123123</div> <img src="" alt="" height="158" width="168" /> <div>Цена: <span class="shs-price" id="stuff_47_price">123</span> руб.</div> <div class="shs-descr"> 123123123123<br /> <a href="index.php?id=47" class="shs-link">Подробнее ›</a> </div> <input type="hidden" name="shs-id" value="47" /> <input type="text" size="2" id="shs-count2" name="shs-count2" value="1" maxlength="3" /> <div align="center"><button class="shs-but">В корзину</button></div> </div> </div> |
А что за JS-код, вырванный непонятно откуда? Приведите рабочий некорректно ведущий себя пример
|
конкретный пример лежит на samou4ka.net
неработает samou4ka.net/assets/snippets/shopkeeper/shopkeeper.js файл без изменений залью чуть позже если надо |
извиняюсь...я неправильно поставил вопрос..
есть <input id="shs-count2" value="1" /> пытаюсь считать значение с этого поля var co = parseInt($('#shs-count2').val()); проблема в том что при изменение значения в поле. скрипт считывает значени которое стоит по умолчанию... а измененое не хочет.... увидеть можно на samou4ka.net сам скрипт на samou4ka.net/assets/snippets/shopkeeper/shopkeeper.js |
Раз не можете считать измененное значение, это означает, что обработчик события привязан только к постраению DOM, то есть откликается на событие
$(document).ready(function(){}) Чтобы откликался на изменение, нужно инициализацию данного плагина повесить на событие change. $('#shs-count2').change(function(){ // инициализация плагина }); |
не реагирует на данное событие....
я уже научил его считывать его измененые параметры, НО у меня есть несколько этих полей с одинаковым айди... если я не ошибаюсь то вот этот фрагмент отвечает за работу с массивом $.fn.shopkeeper = function(options){ settings = $.extend({ clCountr: 'shs-count2', clTitle: 'shs-title', clPrice: 'shs-price', clLink: 'shs-link', clButton: 'shs-but', nameHidden: 'shs-id' }, options); return this.each(function(i){ var parent = this; var co = parseInt($("input[name='"+settings.clCountr+"']:eq(0)",this).val()); var sId = $("input[name='"+settings.nameHidden+"']:eq(0)",this).val(); var sTitle = $("."+settings.clTitle+":eq(0)",this).text(); var sPrice = $("."+settings.clPrice+":eq(0)",this).text(); if($("a."+settings.clLink+":eq(0)",this).size() > 0 || $("input[name='"+settings.clLink+"']").size()>0){ var sLink = $("a."+settings.clLink+":eq(0)",this).size() > 0 ? $("a."+settings.clLink+":eq(0)",this).attr('href') : $("input[name='"+settings.clLink+"']:eq(0)",this).val(); }else{ var sLink = null; } $('button.'+settings.clButton+':eq(0)',this).click(function(){ if(debug) alert(sId+' '+co+' '+sPrice+' '+sLink); $('select.addparam,input.addparam:checked',parent).each(function(){ jQuery.additOpt(this); }); toCart(sId,sTitle,sPrice,sLink,this, co, settings); return false; }); }); } он реагирует на загрузку страницы... от следующей строчки я отказался var co = parseInt($("input[name='"+settings.clCountr+"']:eq(0)",this).val()); сделал считывание внутри вызова функции toCart(sId,sTitle,sPrice,sLink,this, settings); а точнее выглядит так var count = parseInt($('#shs-count2').val()); и когда у меня несколько полей для ввода, то он считывает с первого, а не снужного.... но я незнаю как заставить считать нужный елемент, а не первый... есть смутные догадки что это надо как то передать в функцию скакого именно эелемента в массиве работать... |
Одинаковых ID на странице быть не должно.
В этом наверно и проблема. Подцепляется первый элемент с найденным ID. |
Urfin, понимаете до моих изменений скрипт работал... но там поле input было в модальном окне при нажатии на копку заказов... не могли бы вы тогдать подсказать мне другой способ решения задачи данной? (надо вывести поля input)
|
Часовой пояс GMT +3, время: 03:05. |