0

更新しました。

私のショッピング カート ページには、カート内のすべてのアイテムをチェックして、0 ではなく 1 以上のアイテムがあるかどうかを確認する更新ボタンがあります。すべての入力ボックスは次のようになります。

Apple £4
<input type="text" size="3" value="1" name="quantity[50:YToyOntpOjIyNztzOjI6IjE3IjtpOjIyODtzOjI6IjIxIjt9]">

Orange £6
<input type="text" size="3" value="1" name="quantity[50:YToyOntpOjIyNztzOjI6IjE3IjtpOjIyODtzOjI6IjIewrew]">

名前は常に一意であるため、名前ではなくネストされた .css クラスを使用することにしました。

var errorQty=0;
$(document).ready(function () { 
    var errorQty=0;
    // this is an input box, more than one on the page
    var QtyItems = $('#ShopTable tbody tr td input');

    if(QtyItems=="0" || QtyItems=="1") {
        QtyItems.addClass("errorform");
        errorQty=1;
    } else {
        QtyItems.removeClass("errorform");
    }

    if (errorQty==1){
    } else {    
        $('#updateOrder').click(function () {       
            $('#updateOrderLoader').slideDown("fast");
            document.basket.submit();
            return false;
        });
    }
});

これは私のボタンです。ロード時ではなく、このボタンのクリック時にのみコードが機能するようにしたい!

<a href="#updateOrder" id="updateOrder" title="Update Cart"><img src="//cdn.com/cart/btnUpdate.png" alt="Update Cart" title="Update Cart"/></a>
4

4 に答える 4

0

コードにはいくつかのエラーがあります。

1)$('#.table.ShopTable tbody tr td input');する必要があります$('table.ShopTable tbody tr td input');

2)ここif (errorQty=1){にあるべきですif (errorQty == 1){

3)コントロールが空なので、次のことができます。

if (errorQty != 1){ // if errorQty is not 1.

次に、すべてをボタンアクション内にラップします。

$('#updateOrder').on('click', function() {

    ...

});

そしてそれは動作します。

于 2012-09-07T10:08:33.647 に答える
0

あなたはこれを試すことができます

$('#updateOrder').on("click", function(e){
    e.preventDefault();
    var errorQty=0;
    var QtyItems = $('table.ShopTable tbody tr td input');
    $.each(QtyItems, function(){
        var _this = $(this);
        if(_this.val()=="0" || _this.val()=="1") {
            _this.addClass("errorform");
            errorQty=1;
         } else {
             _this.removeClass("errorform");
         }
    });
    if (errorQty==0){
         $('#updateOrderLoader').slideDown("fast");
         document.basket.submit();
         return false;
    }
});
于 2012-09-07T10:08:49.220 に答える
0

入力要素のリストをループできます。

$('#.table.ShopTable tbody tr td input')
    .each(function(idx, el) {
              if (el.val() == '1' || el.val() == '0') {
                 el.addClass("errorform");
                 ...
              }
          });
于 2012-09-07T10:04:29.197 に答える
0

ボタン

<a onclick="goUpdate()" href="#updateOrder"><img src="//cdn.com/cart/btnUpdate.png"/></a>

jQuery

var form_flag = 0;

function goUpdate() {

    var Items = $("#submitQty");

    if ($(Items).val() == "" || $(Items).val() == "1" || $(Items).val() == "0") {
        $(Items).addClass("errorform");
        form_flag = 1;
    } else {
        $(Items).removeClass("errorform");
    }
    // ALL INFORMATION GOOD ..
    if (form_flag == 1) {
        // NULL CANNOT SUBMIT
    } else {
        var cartForm;
        cartForm = document.getElementById("basket"); // enter the ID or Name or class of your form
        cartForm.submit();
    }
}
于 2012-09-07T10:05:00.943 に答える