【问题标题】:how can we change the value by using radio buttons我们如何使用单选按钮更改值
【发布时间】:2011-05-30 08:20:57
【问题描述】:

我正在使用 php 在 Adob​​e 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)); 
   }); 

但是没有变化,我之前的金额没有加上。当我单击仅显示在浏览器上的上一个金额时..当我单击单选按钮时,我需要该值应相应更改..我在哪里犯了那个错误...请给我一些想法,我该怎么办..有没有必要存储数据库..

感谢广告

【问题讨论】:

  • 脚本放在哪里(jQuery 代码)?
  • 显然,它在 document.ready 块中。 magna 只是不想粘贴不必要的行。

标签: php jquery mysql html css


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    使用“点击”事件而不是“更改”事件。将下面的行修改为:

    $("input[name='rmr']").bind('click', function() { …… }

    【讨论】:

    • 我修改了,即使它没有任何改变...请发布一些代码
    【解决方案3】:

    您想在每次单击 radio 按钮时进行计数,它会计算上一次单击时的值(第一次单击时该值为零)。我会创建一个隐藏字段来输入总金额。

    在你的例子中你使用了'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" />
    

    祝你好运

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-15
      • 2010-10-10
      • 1970-01-01
      • 2012-07-26
      • 2019-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多