在Paypal购物车中创建多个选择选项框

时间:2014-02-15 18:45:39

标签: paypal

是否可以使用多个选择框将项目提交到paypal购物车?我目前有一个javascript到位,循环选项,将它们附加到我的表单,然后提交表单。但是只提交了最后一项。

以下是代码:

function getValues() {
var os0 = document.getElementById("os0");
var options = os0 && os0.options;
var price = 0;
for (i=0; i < options.length; i++) {
  if(options[i].selected) {
    switch(i) {
      case 2:
      case 4:
      case 7:
      case 8:
        price = "30.00";
        break;
      case 0:
      case 1:
      case 3:
      case 5:
      case 6:
        price ="25.00";
        break;
      default:
        price ="25.00";
        break;  
    }

    $("#singleDungeon").append('<input type="hidden" name="option_select'+i+'" value="'+options[i].value+'"/>');
    $("#singleDungeon").append('<input type="hidden" name="option_amount'+i+'" value="'+price+'"/>');
  }
}
document.getElementById('singleDungeon').submit(); 
return true;
}
</script>

任何见解都表示赞赏。

谢谢!

1 个答案:

答案 0 :(得分:1)

搞定了。如果未使用正确的增量和语法,购物车系统将忽略项目。因此,将代码更改为item_name_#和amount_#。此外,添加计数值而不是使用索引值。因此,它将是amount_1,amount_2,而不是amount_6等。

                      <div class="pt1">
                    <h2>Single Dungeons</h2>
                    <div class="price3">
                      <h1>$25 - $30</h1>
                      <p>&nbsp;</p>
                    </div>
                    <!--price-->
                      <div class="content">
                        <p>Bring any class!</p>
                      </div>
                      <div class="content">
                        <p>You play your character!</p>
                      </div>
                        <div class="content">
                        <input type="hidden" name="on0" value="Single Dungeon"/>
                        <select multiple="multiple" name="os0" id="os0">
                          <option value="Gate of the Setting Sun">Gate of the Setting Sun - $25</option>
                          <option value="Shado'pan Monastery">Shado'pan Monastery - $25</option>
                          <option value="Stormstout Brewery">Stormstout Brewery - $30</option>
                          <option value="Temple of the Jade Serpent">Temple of the Jade Serpent - $25</option>
                          <option value="Mogu'Shan Palace">Mogu'Shan Palace - $30</option>
                          <option value="Scholomance">Scholomance - $25</option>
                          <option value="Scarlet Halls">Scarlet Halls - $25</option>
                          <option value="Scarlet Monastery">Scarlet Monastery - $30</option>
                          <option value="Siege of Niuzao Temple">Siege of Niuzao Temple - $30</option>
                        </select>
                      </div>
                      <!--content-->
                      <form action='https://www.paypal.com/cgi-bin/webscr' method='post' target="paypal" id="singleDungeon" >
                        <input type="hidden" name="cmd" value="_cart">
                        <input type="hidden" name="upload" value="1">
                        <input type='hidden' name="business" value="daniil_kuranov1@hotmail.com">
                        <input type='hidden' name="currency_code" value="USD">
                        <input type="hidden" name="return" value="http://www.project-carry.com"/>
                        <input type="hidden" name="cancel_return" value="http://www.project-carry.com"/>
                        <input type="hidden" name="shopping_url" value="http://www.project-carry.com/buy-now.html">
                        </form>
                        <a href="#" onclick="getValues(); return false">Buy Now</a>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>            
function getValues() {
var os0 = document.getElementById("os0");
var options = os0 && os0.options;
var price = 0;
var count = 1;
for (i=0; i < options.length; i++) {
  if(options[i].selected) {
    switch(i) {
      case 2:
      case 4:
      case 7:
      case 8:
        price = "30.00";
        break;
      case 0:
      case 1:
      case 3:
      case 5:
      case 6:
        price ="25.00";
        break;
      default:
        price ="25.00";
        break;  
    }

    $("#singleDungeon").append('<input type="hidden" name="item_name_'+count+'" value="'+options[i].value+'" />');
    $("#singleDungeon").append('<input type="hidden" name="amount_'+count+'" value="'+price+'" />');
    count++;
  }
}
document.getElementById('singleDungeon').submit(); 
return true;
}
</script>