2011-11-22 97 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