1

对如何将我的转换<select><option>为单选按钮感到困惑。

在花了几天时间设置这个下拉菜单以在这个 simpleCart(js) 项目中正常运行之后,现在我的客户(令我非常高兴)改变了主意,并决定他想要按钮。

实施此更改的正确方法是什么。我试过单选按钮,但到目前为止我所做的不起作用。我制作的表格似乎无法与 simpleCart(js) 进行通信。

我所拥有的(工作完美)

<select id="sizeSelect" class="item_size dropdown" autocomplete="off">
    <option value="nul" selected="selected">Please choose size</option>
    <option value="Small">Small</option>
    <option value="Medium">Medium</option>
    <option value="Large">Large</option>
    <option value="Super Brain">Super Brain</option>
    </select>

    <select id="shippingSelect" class="item_shipping" autocomplete="off">
    <option value="nul" selected="selected">Please choose shipping</option>
    <option value="ups">UPS Standard 25€&lt;/option>
    <option value="mail">Standard Mail 10€&lt;/option>
    </select>
    <select id="regionSelect" class="item_tax" autocomplete="off">
    <option value="nul" selected="selected">Please choose region</option>
    <option value="Eu VAT 21%">Eu VAT 21%</option>
    <option value="World (Taxfree)">World (Tax Free)</option>
    </select>

<button class="item_add">Add to Cart</button>

我正在尝试什么(不工作)

<form>
<fieldset>
<legend>Please choose size:</legend>
<input type="radio" name="size" id"sizeSelect" class="item_size" value="nul" style="display:none" checked>  
<label><input type="radio" name="size" id"sizeSelect" class="item_size" value="small"> Small </label>
<label><input type="radio" name="size" id"sizeSelect" class="item_size" value="medium"> Medium </label>
</fieldset>
<fieldset>
<legend>Please choose shipping:</legend>
<input type="radio" name="shipping" id="shippingSelect" class"item_shipping" value="nul" style="display:none" checked>
<label><input type="radio" name="shipping" id="shippingSelect" class"item_shipping" value="ups"> UPS Standard 25€&lt;/label>
<label><input type="radio" name="shipping" id="shippingSelect" class"item_shipping" value="mail"> Standard Mail 10€&lt;/label>
</fieldset>
<fieldset>
<legend>Please choose destination:</legend>
<input type="radio" name="destination" id="destinationSelect" class"item_price" value="nul" style="display:none" checked>
<label><input type="radio" name="destination" id="destinationSelect" class"item_price" value="290.00"> EU</label>
<label><input type="radio" name="destination" id="destinationSelect" class"item_price" value="220.00"> World</label>
</fieldset>
<input type="submit" class="item_add " value="Add to Cart">
</form>

更新

使用它足以使用class="item_size或其他 SC 类将数据提供给购物车。

更新

购物车 HTML:

    <div class="simpleCart_items"></div>
    <div class="simpleCart_itemSize"></div>
    Shipping:<span class="simpleCart_shipping"></span><br> 
    <strong>Total with Shipping: <span class="simpleCart_grandTotal"></span></strong>
    <p style="text-align:right"><a href="javascript:;" class="simpleCart_checkout">Checkout</a></p>

使用单选按钮,我得到了总计

总运费:€NaN

所以很明显该表格没有与购物车通信...... 但插头松动的地方对我来说完全是个谜……

更新 对不起,伙计们,我很沮丧,我忘了把这个...

    <script type="text/javascript">
    simpleCart.shipping = function(){
    if( $("#shippingSelect").val() == "nul" ){return 0;}    
    if( $("#shippingSelect").val() == "ups" ){return 25;}
    if( $("#shippingSelect").val() == "mail" ){return 10;}
    };
    </script>

    <script type="text/javascript">
    simpleCart.tax = function(){
    if( $("#regionSelect").val() == "nul" ){return 0;}  
    if( $("#regionSelect").val() == "Eu VAT 21%" ){return 90;}
    if( $("#regionSelect").val() == "World (Taxfree)" ){return 0;}
    };
    </script>   
4

1 回答 1

1

您将值设置functions为不值。下面:

simpleCart.tax = function(){
    if( $("#regionSelect").val() == "nul" ){return 0;}  
    if( $("#regionSelect").val() == "Eu VAT 21%" ){return 90;}
    if( $("#regionSelect").val() == "World (Taxfree)" ){return 0;}
    };

不设置taxreturn它设置的值是一个函数指针。其中,因为它不是数字(它是 a function)是Nan.

将其更改为:

function getTax(){
        if( $("#regionSelect").val() == "nul" ){return 0;}  
        if( $("#regionSelect").val() == "Eu VAT 21%" ){return 90;}
        if( $("#regionSelect").val() == "World (Taxfree)" ){return 0;}
        }

simpleCart.tax =  getTax();

为了进一步解释它,你可以这样做:

function getTax(){
        if( $("#regionSelect").val() == "nul" ){return 0;}  
        if( $("#regionSelect").val() == "Eu VAT 21%" ){return 90;}
        if( $("#regionSelect").val() == "World (Taxfree)" ){return 0;}
        }
//this is a function pointer
var getTaxFunctionpointer = getTax;

//this will return an integer
simpleCart.tax =  getTaxFunctionpointer();
于 2013-09-24T07:53:05.423 回答