2

私はsimpleCart jsを使用しています。顧客が英国またはその他の国を選択するまで、チェックアウト ボタンと送料を非表示にしたいと考えています。選択ブロックは次のとおりです。

<select id="shippingSelect" onchange="simpleCart.update();">
 <option value="nothing" selected="selected">Choose Shipping Location</option>
 <option value="uk">UK</option>
 <option value="world">Rest of World</option>
</select> 

その下には、送料とチェックアウト ボタンがあります。

<div class="place_order" style="display:none">
 <span id="simpleCart_shipping" class="simpleCart_shipping"></span>
 <a href="javascript:;" class="simpleCart_checkout btnDownload">checkout</a>
</div>

カートを生成する simpleCart スクリプト:

<script>
simpleCart({
    cartColumns: [
        { attr: "name" , label: "Item" },
        { view: "decrement" , label: false , text: "-" },
        { attr: "quantity", label: "Quantity", view: "input"},
        { view: "increment" , label: false , text: "+" },
        { attr: "price", label: "Price"},
        { attr: "total" , label: "Subtotal", view: "currency"  }
    ],
    cartStyle: "table",
    currency: "GBP",
    language: "english-us",
    checkout: { 
        type: "PayPal" , 
        email: "email@ddress",
        success: "success.html"
    },
    shippingCustom: function(){ 
                 if( $("#shippingSelect").val() == "uk" ){
                      return 0;
                 } else {
                      return 2;
             }
        }
    });


</script>

インライン スタイルを変更するために使用できると思ったのです$('.place_order').css('display', 'inline');が、それを simpleCart スクリプトに組み込むか、別のスクリプトをトリガーするか、その方法がわかりません。おそらくもっと効率的な方法がありますか?ありがとう!

4

1 に答える 1

1

これはあなたが意味するものですか?

$('.simpleCart_checkout btnDownload').hide(); //hide your element upon intial page load

$('#shippingselect').change(function() {
   if ($(this).val() != "nothing") {
      $('.simpleCart_checkout btnDownload').show(); //show element if shipping option selected
   } else {
      $('.simpleCart_checkout btnDownload').hide();
   }
});

私の知る限り、クラス/ID名にスペースを入れるのは悪い習慣です。

私の意見では、ボタンを非表示または表示するのではなく、無効/有効にする方がよいでしょう。

$('.simpleCart_checkout btnDownload').attr('disabled', true);
于 2012-08-25T19:56:11.710 に答える