2016-08-05 111 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')); 
    } 
}) 

的代码没有细化,但它会给你如何继续

相关问题