0

カートに正しい数量を入れる必要がありますが、jsを使用している理由は、すべての製品がリストされている車両からのアセンブリがありますが、一部は2回存在するため、現在、最も少ない数量を取っているためです。両方のフィールドは、合計するのではなく、特定の数に設定されます。そしてもちろん、両方のパーツIDは同じであり、問​​題に追加されます。これが私がこれまでに持っているものです:

$('#add_to_cart').submit(function(){
    arr1 =  jQuery.makeArray($('input[id*="myap_"]'));
    arr2 = jQuery.makeArray($('input[id*="products_"]'));
    fields = arr1.concat(arr2).sort();
    jQuery.each(fields, function(index, domEle){
      if (index > 0 && $(this).attr('id') == fields[index-1].id){
        curr_val = ($.isNumeric(domEle.value)) ? parseInt(domEle.value) : 0
        second_val = ($.isNumeric(fields[index-1].value)) ? parseInt(fields[index-1].value) : 0
        domEle.value = curr_val + second_val;
        fields[index-1].value = 0;
    }
    });
});

同じページにさまざまな種類の商品を掲載する必要があるため、myapと商品があります。また、これは時々機能するようですが、常にではなく、一般的には動作しません。

4

1 に答える 1

0

理解した。正しくソートされていませんでした。これが必要:

fields = arr1.concat(arr2).sort(function(a,b){return a.id > b.id ? 1 : -1;});
于 2012-05-31T15:21:47.433 に答える