我们如何通过使用单选按钮来更改值

时间:2010-12-24 09:16:11

标签: php jquery mysql html css

我正在使用php在Adobe Dreamweaver中创建一个网站。在该网站中有一个3个按钮,用于选择将作为继续按钮的付款方式。我想要的是当用户检查单选按钮(我同意按钮)时,它将添加该数量并显示前一个数量..有三个按钮具有相应的值(以磅为单位)..

检查我的网站http://www.spsmobile.co.uk,在此链接中解锁手机,添加购物车后点击付费,它将转到下一页,有一个送货邮件详细信息..对于该送货邮件的详细信息只是问。 。 这里我提到了代码:

<input id="radio-1" type="radio" name="rmr" value="1"> 
<label for="radio-1">£3</label> <input id="radio-2" type="radio" name="rmr" value="2">     
<label for="radio-2">£5.5</label> 
<input id="radio-3" type="radio" name="rmr" value="4"> 
<label for="radio-3">£10</label>  


<div class="total-text" style="font-size:36px">£10</div> 



  var total = parseInt($("div.total-text").text().substring(1), 10);  
    $("input[name='rmr']").bind('change', function() {     
      var amount = 0;     
      switch (this.value) {     
              case "1":         
                          amount = 3;         
                          break;     
              case "2":         
                          amount = 5.5;                          
                          break;     
              case "4":         
                          amount = 10;         
                          break;     
      }      
      $("div.total-text").text("£" + (total + amount)); 
   }); 

但是没有变化,我以前的金额没有添加。虽然我点击以前的数量只显示在浏览器上..我需要当我cliks单选按钮的价值应该相应改变..我在那里做错了... PLZ给我一些想法,我该怎么办..是否有任何需要存储数据库..

感谢adv

3 个答案:

答案 0 :(得分:1)

这[demo ]是不是您正在寻找的功能?

答案 1 :(得分:1)

使用“点击”事件而不是“更改”事件。修改以下行:

$(“input [name ='rmr']”)。bind('click',function(){ .... }

答案 2 :(得分:0)

你想要计算每次你点击一个辐射按钮它会计算前一次点击的值(当第一次点击该值为零时)。我会创建一个隐藏字段来将总计金额放入。

在你的例子中你使用'this',如果你在jQuery中写你不能这样使用它(在我看来)。如果你写的函数如下:

function foo(value)
{
   this.value = value;
};

var foobar = new foo('test');
alert(foobar.value);

然后你应该按照你的方式使用。

<script type="text/javascript">
$(document).ready(function() {
    $("input[name=rmr]").click(function() {

            //Get totale amount
        var total  = parseInt($("input[name=mem-totale]").val());
            //Get checked value
        var amount = parseInt($(this).val());       

            //Change it in your way
        switch (amount) {     
              case "1":         
                  amount = 3;         
                  break;     
              case "2":         
                  amount = 5.5;                          
                  break;     
              case "4":         
                  amount = 10;         
                  break;     
        };

            var totale_amount = total + amount;

            //Put totale in the mem-totale
        $("input[name=mem-totale]").val(totale_amount);
            //Put tottale in your label
        $("div.total-text").text("£" + (totale_amount)); 
    });
});
</script> 

<input id="radio-1" type="radio" name="rmr" value="1"> 
<label for="radio-1">£3</label>
<input id="radio-2" type="radio" name="rmr" value="2">     
<label for="radio-2">£5.5</label> 
<input id="radio-3" type="radio" name="rmr" value="4"> 
<label for="radio-3">£10</label>  

<div class="total-text" style="font-size:36px">£10</div>
<input type="hidden" name="mem-totale" value="0" />

Goodluck with it