2016-08-05 49 views
0

我正在開發電子商務系統。 假設用戶總共有1200個權利。 如果他選擇快速交貨選項 40應該被添加到總計,這意味着最終的金額應該從1200更改爲1240. 我已經爲此開發了一種應用程序。 我不知道什麼,但價值不增量。不知道是什麼,但我需要一個解決方案, 這裏是我的代碼:使用單選按鈕增加和減少數值

<label><input type="radio" name="optradio" id="target"> 
<span class="label label-success">Fast Delivery</span></label> 
<div id="output">10</div> 
<div id="savevalue" style="visibility:hidden"></div> 



<label><input type="radio" name="optradio" id="target2"> 
<span class="label label-success">Regular Delivery</span></label> 

我的Javascript代碼:

$('#target').click(function() { 

var savevalue = $('#savevalue').text(); 
var output = $('#output').text(); 

if (savevalue==null || savevalue=="") 
{ 
    output = output*1 + 40; 
    savevalue = output; 
    $('#output').html(function(i, val) { return output}); 
    $('#savevalue').html(function(i, val) { return savevalue}); 

} 
}); 

$('#target2').click(function() { 
var savevalue = $('#savevalue').text(); 
var output = $('#output').text(); 

if (output==savevalue) 
{ 
    output = output*1 - 40; 
    $('#output').html(function(i, val) { return output }); 
} 
}); 
+0

我想你可能會在1號線有一個錯誤的一些見解'[我JS FIDDLE CODE] [1]' –

+0

我錯過了代碼:P匆忙 –

回答

0

試試這個:

HTML:

<p id="price">100</p> 
<input type="radio" name="delivery" id="delivery1" value="normal" checked> Normal <br> 
<input type="radio" name="delivery" id="delivery2" value="fast"> Fast 

Js:

$(document).ready(function(){ 
    $('#delivery1,#delivery2').change(function(){ 
    price = $('#price').text(); 
    if($('#delivery2').is(':checked')) { 
     price = parseInt(price) + 40; 

    } else { 
     price = parseInt(price) - 40; 
    } 
    $('#price').text(price); 
    }); 
}); 
+0

不行! –

+0

這將永遠不會碰到'else',因爲它只在點擊'target'元素時觸發,所以它會一直被檢查。 –

+0

將'點擊'事件更改爲'更改'事件 – Rijin

0

你能檢查我的小提琴https://jsfiddle.net/3422ntLh/

在我的解決方案中,檢查html代碼。

<label> 
    <input type="radio" name="delivery" id="target" speed="fast"> 
    <span class="label label-success">Fast Delivery</span></label> 
<div id="output">10</div> 
<div id="original" value="10" style="visibility:hidden"></div> 



<label> 
    <input type="radio" name="delivery" id="target2" speed="normal"> 
    <span class="label label-success">Regular Delivery</span></label> 

我在$('#original)中保存了商品的價值。

這是我的JS代碼:

$('input:radio[name="delivery"]').change(function() { 
    alert($('#original').attr('value')); 
    $('#output').html($('#original_cost').attr('value')); 
    if ($(this).attr('speed') == 'fast') { 
     var extra_shipping_fee = 40; 
     var current_price = parseInt($('#original').attr('value')); 
     var new_price = current_price + extra_shipping_fee; 
     $('#output').html(new_price); 
    } else { 
     $('#output').html($('#original').attr('value')); 
    } 
}) 

的代碼沒有細化,但它會給你如何繼續

相關問題