2011-11-22 42 views
0

我有以下代码:允许用户使用jquery键入1或更多数量?

quantity = $('div.ProductNameText').text().match(/Exclusive Handmade Box/g).length; 
if(quantity) 
{ 
    $("#kitProduct #Quantity").attr("value", quantity); 
} 

我愿让这个用户可以输入1或更多。 目前它强制数量框只显示1.

任何想法?

编辑:更多信息:div class是产品标题,我只是试图检查产品是否存在,然后允许用户在数量文本框中输入1或更多。

+1

你需要更具体。用户输入数据到底在哪里?它是一个输入还是一个选择?一个HTML代码片段会很有帮助。 – approxiblue

+0

它只是一个数量文本框.. – PD24

+0

“更多”是指文字字符串“更多”或数字大于1?我们应该使用下拉列表吗? – approxiblue

回答

0
$("#kitProduct #Quantity").keyup(function() { 
    var quantity = parseInt($.trim($(this).val())); 
    if (!quantity || qantity < 1 || !quantity.length) { 
     $(this).val('1'); 
    } else { 
     $(this).val(quantity); 
    } 
}); 
+0

我可以快速解释此代码的工作原理吗? – PD24

+0

@ PD24'keypress()'事件在用户使用键盘给出输入时触发,并且在每次按键时检查用户给出的值,如果用户给出的值小于1,则它设置1输入(在if()条件中)否则它设置为用户给出的值(在'else'条件下) – thecodeparadox

+0

请检查答案,它似乎没有工作..它迫使1 ..如果用户想要输入3呢? – PD24

0

PD,我相信

quantity = $('div.ProductNameText').text().match(/Exclusive Handmade Box/g).length; 

只返回1任何单一的数量1,2,3,4,5,6,7,8,9。你正在检查文本的长度;不是它的价值。

+0

感谢您的回复,我将如何强制用户只输入1个或更多?即他们可能需要4个项目,所以他们输入4。 – PD24