Не считывается значение с поля 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, время: 11:01. |