使用jQuery检查多个输入值与其他各种隐藏的最小值

时间:2011-07-20 09:14:37

标签: jquery jquery-selectors

我有一个产品列表,它们在隐藏输入中具有最小数量。有些产品有多种颜色,虽然相同的最小数量,我正在尝试实现jQuery检查所做的条目至少等于最小值。

空白或'0'条目没有问题,但如果它低于最低数量,则应将其设置为最小值。

HTML:

    <div class="ProductGrouping"> <!-- with colours -->
    <input id='frmQuickAdd1234c1' name='frmQuickAdd1234c1' type='text' style='width: 40px; text-align: center;' class='auto {mDec: 0}' value='' /> Black

    <input id='frmQuickAdd1234c2' name='frmQuickAdd1234c2' type='text' style='width: 40px; text-align: center;' class='auto {mDec: 0}' value='' /> White
    <input id="QuickAddMinOrderQty1234" name="QuickAddMinOrderQty1234" type="hidden" class="auto {mDec: 0}" value="6" />
    </div>
    <div class="ProductGrouping"> <!-- without colours -->
    <input id='frmQuickAdd4567' name='frmQuickAdd4567' type='text' style='width: 40px; text-align: center;' class='auto {mDec: 0}' value='' /> Product B
<input id="QuickAddMinOrderQty4567" name="QuickAddMinOrderQty4567" type="hidden" class="auto {mDec: 0}" value="3" />
</div>

jQuery的:

<script type="text/javascript">
jQuery(document).ready(function(){
    if (jQuery.browser.msie) {
        jQuery("[id=^frmQuickAdd]").bind("keyup", CheckStr);
        };

    jQuery('[id=^frmQuickAdd]').change(CheckMin);
    function CheckMin(){
        var AmountStr = jQuery(this);
        var Amount = Number(AmountStr.val().replace(/[$£,]+/g,""));
        var ProductScope = jQuery(this).parent("div.ProductGrouping")
        var MinQtyStr = jQuery("[id=^QuickAddMinOrderQty]",ProductScope);
        var MinQty = Number(MinQtyStr.val().replace(/[$£,]+/g,""));
        if (parseFloat(Amount) == 0){}
        else if (parseFloat(Amount) == ''){}
        else if(parseFloat(Amount) < parseFloat(MinQty)){
            AmountStr.val(MinQtyStr.val());
            };
    };
    function CheckStr(){
        if (isNaN(jQuery(this).val() )) {
            var ProductScope = jQuery(this).parent("div.ProductGrouping")
                jQuery(this).val(jQuery("[id=^QuickAddMinOrderQty]",ProductScope).val())
        }
    };
});
</script>

这有什么明显的错误吗?它没有执行最低限度的检查,我真的不确定原因。

由于

大卫

0 个答案:

没有答案