2014-03-12 98 views
3

我想将max属性作为整数传递给jQuery变量。只是似乎无法使其工作。在这个例子中,变量maxqty应该是6.将输入max属性作为整数传递给jQuery变量

任何想法赞赏。

HTML

<input name="qty" id="qty" type="text" value="1" size="3" maxlength="2" max="6" /> 

jQuery的

var maxqty = 10 

jQuery(function(){ 
    jQuery("#qtyplus").click(function(){ 
    if(jQuery('#qty').val()<maxqty) 
    jQuery(":text[name='qty']").val(Number(jQuery(":text[name='qty']").val()) + 1); 
    }); 
    jQuery("#qtyminus").click(function(){ 
    if(jQuery('#qty').val()>1) 
     jQuery(":text[name='qty']").val(Number(jQuery(":text[name='qty']").val()) - 1); 

    }); 
    }); 
+0

你可以使用'数据attributes'。 – MamaWalter

+0

如果'maxqty'确实是'10a',那么数字比较将失败。该代码应该做什么,因为你似乎没有试图在任何地方使用'max'属性。 –

+0

你要经过哪里? – Sudz

回答

1

你想parseInt($('#qty').attr('max'))

if(jQuery('#qty').val() < (parseInt(jQuery('#qty').attr('max'))))

你正在尝试检索是在elemenet的属性,其中任何一个可以的与一起检索调用。

哦,以防万一,jQuery .attr docs

+0

如果您打算使用['parseInt()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt),请不要忘记基数。 –

+0

好点,我猜想数字会更简单...今天早上已经解析了大脑:p – Ted

0

你可以使用data-attributes来存储您的最大值。

事情是这样的:

<input name="qty" id="qty" type="text" value="1" size="3" maxlength="2" data-max="6" /> 

JS:

var input = jQuery('#qty'); 

jQuery("#qtyplus").click(function(){ 
if(input.val()<jQuery('#qty').data('max')) 
input.val(parseInt(input.val()) + 1); 
}); 

jQuery("#qtyminus").click(function(){ 
if(input.val()>1) 
    input.val(parseInt(input.val()) - 1); 
}); 

FIDDLE DEMO

相关问题