【问题标题】:Displaying Buttons Dependant on Drop-down Choice根据下拉选项显示按钮
【发布时间】:2017-03-25 09:38:43
【问题描述】:

我在 JS 中使用 setInterval 来选择表单中的下拉菜单。根据选择,我想显示 1 个购买按钮或另一个。

我的问题是

这是我的 JF

setInterval (function() {
    var auto_renew = $('#auto_renew').val();

    if (auto_renew == 1) {
        $'#subscription_purchase').css('display', 'none');
        $('#normal_purchase').css('display', 'none');
    } else {
        $'#subscription_purchase').css('display', 'none');
        $('#normal_purchase').css('display', 'inline');
    }
}, 0)

这是我的 HTML

<div id="subscription_purchase" style="display:none;">

  <input type="hidden" name="cmd" value="_xclick-subscriptions">
  <input type="hidden" name="a3" id="hiddentotal2" value="5.00">
  ......
  <input type="submit" name="submit" value="PURCHASE SUB" />

</div>

<div id="normal_purchase" style="display:none;">

  <input type="hidden" name="cmd" value="_xclick">
  <input type="hidden" name="amount" id="hiddentotal2"  value="1">
  ...... 
  <input  type="submit" name="submit" value="PURCHASE NORM" />

</div>

必须有更聪明的方法来做到这一点......

【问题讨论】:

  • 最聪明的方法是服务器端。我遇到了同样的问题,但是由于我使用的是无法访问服务器端代码的 CMS,因此必须执行此客户端
  • @ScottyDoesKnow 你会怎么做服务器端?用PHP?我不确定我会知道如何
  • @ScottyDoesKnow 就像我将所有变量传递给 temp.php,然后由 temp.php 决定将其发送到贝宝的位置?类似的东西?
  • 你为什么用setInterval,有什么具体原因吗?不能用onchange下拉事件吗?
  • @Aruna 我可以...这能解决我的问题吗?

标签: javascript jquery html paypal


【解决方案1】:

给你,

$(document).ready(function(){
  $('#auto_renew').on('change', function(){
     var selected = $(this).val();
     var subscriptionElm = $('#subscription_purchase');
     var normalElm = $('#normal_purchase');
    
     switch (selected) {
         case '1':
            subscriptionElm.show();
            normalElm.hide();
            break;
         case '0':
            subscriptionElm.hide();
            normalElm.show();
            break;
         default:
            subscriptionElm.hide();
            normalElm.hide();
            break;
     }
  }); 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="auto_renew">
  <option value="-1"></option>
  <option value="1">Subscription Purchase</option>
  <option value="0">Normal Purchase</option>
</select>
<br/><br/>
<div id="subscription_purchase" style="display:none;">

  <input type="hidden" name="cmd" value="_xclick-subscriptions">
  <input type="hidden" name="a3" id="hiddentotal2" value="5.00">

  <input type="submit" name="submit" value="PURCHASE SUB" />

</div>

<div id="normal_purchase" style="display:none;">

  <input type="hidden" name="cmd" value="_xclick">
  <input type="hidden" name="amount" id="hiddentotal2"  value="1">
 
  <input  type="submit" name="submit" value="PURCHASE NORM" />

</div>

【讨论】:

  • 它似乎不起作用。当然,不同的购买按钮显示或隐藏,但是当我提交到贝宝时,它仍然不起作用。我认为这是因为其他按钮的隐藏类型输入。
  • 不同的 paypal 值,如: 每个按钮都不相同,所以这就是它不起作用的原因。
  • 你的意思是使用 JS 来更新“cmd”值……没想到。让我试试
  • 超过 1 个,其中一些必须删除和替换。示例 更改为: 但有些像这样: 必须为此删除和更改:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-04
  • 2021-08-25
  • 1970-01-01
  • 2019-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多