jquery在最近的输入更改时更新数据量
我是jquery新手,我很想得到一些帮助。我需要操纵一点eshop页面。单击+/-或手动更改输入值时,我需要更新最近的jquery在最近的输入更改时更新数据量,jquery,Jquery,我是jquery新手,我很想得到一些帮助。我需要操纵一点eshop页面。单击+/-或手动更改输入值时,我需要更新最近的链接的数据量 我有以下部分代码(在一些产品描述中): 此jquery添加+-按钮,并在单击时控制其最小值和最大值: (function($) { function createQTYButtons(target) { // Quantity buttons $(target).find('div.quantity:not(.button
链接的数据量
我有以下部分代码(在一些产品描述中):
此jquery添加+-按钮,并在单击时控制其最小值和最大值:
(function($) {
function createQTYButtons(target) {
// Quantity buttons
$(target).find('div.quantity:not(.buttons_added), td.quantity:not(.buttons_added)').addClass('buttons_added').append('<input type="button" value="+" class="plus" />').prepend('<input type="button" value="-" class="minus" />');
// Target quantity inputs on product pages
$(target).find('input.qty:not(.product-quantity input.qty)').each(function() {
var min = parseFloat($(this).attr('min'));
if (min && min > 0 && parseFloat($(this).val()) < min) {
$(this).val(min);
}
});
$(target).on('click', '.plus, .minus', function() {
// Get values
var $qty = $(this).closest('.quantity').find('.qty'),
currentVal = parseFloat($qty.val()),
max = parseFloat($qty.attr('max')),
min = parseFloat($qty.attr('min')),
step = $qty.attr('step');
var $qty_cart = $(this).closest('.text-center').find('.addt_to_cart_button'),
qty_cart_val = parseFloat($qty_cart.data( "quantity" ) );
console.log(qty_cart_val);
// Format values
if (!currentVal || currentVal === '' || currentVal === 'NaN') currentVal = 0;
if (max === '' || max === 'NaN') max = '';
if (min === '' || min === 'NaN') min = 0;
if (step === 'any' || step === '' || step === undefined || parseFloat(step) === 'NaN') step = 1;
// Change the value
if ($(this).is('.plus')) {
if (max && (max == currentVal || currentVal > max)) {
$qty.val(max);
} else {
$qty.val(currentVal + parseFloat(step));
}
} else {
if (min && (min == currentVal || currentVal < min)) {
$qty.val(min);
} else if (currentVal > 0) {
$qty.val(currentVal - parseFloat(step));
}
}
// Trigger change event
$qty.trigger('change');
});
}
// jQuery plugin.
$.fn.addQty = function() {
return this.each(function(i, el) {
createQTYButtons(el);
});
}
})(jQuery);
jQuery('.small-product').addQty();
(函数($){
函数createQTYButtons(目标){
//数量按钮
$(目标).find('div.quantity:not(.buttons_added)).td.quantity:not(.buttons_added)).addClass('buttons_added').append('').prepend('');
//产品页面上的目标数量输入
$(目标).find('input.qty:not(.product quantity input.qty')).each(函数(){
var min=parseFloat($(this.attr('min'));
if(min&&min>0&&parseFloat($(this).val())max)){
$qty.val(最大值);
}否则{
$qty.val(当前值+分析浮动(步));
}
}否则{
if(min&(min==currentVal | | currentVal0),则为else{
$qty.val(当前值-解析浮动(步));
}
}
//触发更改事件
$qty.trigger('change');
});
}
//jQuery插件。
$.fn.addQty=函数(){
返回此值。每个函数(i,el){
创建QtyButtons(el);
});
}
})(jQuery);
jQuery('.small product').addQty();
这是小提琴:
提前非常感谢如果答案对任何人都有用,我自己已经找到了解决方案:
$('.qty').bind('change', function() {
$(this).closest('.text-center').find('a.ajax_add_to_cart').attr('data-quantity', $(this).val());
});
大多数现代浏览器都是通过type=number
自动完成的。你为什么要自己做这件事?
$('.qty').bind('change', function() {
$(this).closest('.text-center').find('a.ajax_add_to_cart').attr('data-quantity', $(this).val());
});