Использование jQuery для проверки нескольких входных значений относительно различных других скрытых минимальных значений - PullRequest
1 голос
/ 20 июля 2011

У меня есть список продуктов, в которых они имеют минимальные количества в скрытом вводе.Некоторые продукты имеют несколько цветов, хотя минимальное количество одинаково, и я пытаюсь реализовать проверку 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>

Что-то явно не так с этим?Он не выполняет минимальную проверку, и я действительно не уверен, почему.

Спасибо

Дэвид

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...