1

我有一个问题,我一直在研究一些 jquery 来将数量文本框设置为显示 25 或更多。它检查措辞个性化是否有一个空字符串,如果它没有应用 25 数量作为其明显的套件产品和个性化。

套件产品的关键部分是:

if (parseInt($("#kitProduct #Quantity").val()) < 25) {
    $("#kitProduct #Quantity").attr("value", "25");

它知道它是一个套件产品,因为我在名为 Kit Product 的页面周围有一个 div.id。

我的问题是我需要为某些产品覆盖此套件产品代码。我认为快速解决此问题的最佳方法是检查 div 的内容,例如:

<div class="ProductNameText">Exclusive Handmade Box</div>

如果找到独家手工盒,则允许用户在文本框中输入 1 或更多的数量。

我尝试了以下代码:

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

          var quantity = parseInt($.trim($(this).val()));
          if( quantity < 1) {
             $(this).val('1');
          } else {
             $(this).val(quantity);
         }

但这只会迫使 1. 我现在真的迷路了,我已经尽我所能解释了,下面是 jsfiddle 中页面的缩减示例。

真的希望你能帮忙吗?

更多信息:

在大多数情况下,套件产品是在一个 xml 包中定义的,该包应用于管理部分中的套件产品。然而,我有一些产品仍然是产品,但不需要 25 加入数量。

目前 jquery 检查文本区域框,因为如果用户在其中添加个性化设置,则意味着他们想要套件产品,因此最小数量为 25。

但是我有一个产品我想根据它的 div 内容进行检查,我想拥有 1 个或更多...

所以我应该能够在框中输入 1-25,而我当前的代码不会说 oppps 你输入的数字小于 24,所以我要把它改回最小套件产品数量。

如果您尝试使用 jsfiddle,您会发现它不会让您输入 3 的值?那就是问题所在。

http://jsfiddle.net/FB5MQ/3/

4

1 回答 1

0

您应该在“套件产品的关键部分”代码中有一个变量最小值:

var minValue = 25;
if ($('div.ProductNameText').text().match(/Exclusive Handmade Box/)) {
    minValue = 1;
}

if (parseInt($("#kitProduct #Quantity").val(), 10) < minValue) {
    $("#kitProduct #Quantity").prop("value", minValue);
    // rest of code...
于 2011-11-24T10:02:39.460 回答