2013-02-26 42 views
1

我想要有1个选择框选择2个paypal按钮。JQuery选择多个PayPal按钮

我有一个最小的形式代码:

//表单

<form id="form1" action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
<input type="hidden" name="cmd" value="_s-xclick"> 


<select name="select1" id="select1"> 
    <option id="option1" value="1">Button1</option> 
    <option id="option2" value="2">Button2</option> 
</select> 

<input type="image" src="images/purchase_button.png" border="0" name="submit" alt="PayPal — The safer, easier way to pay online." /> 
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1" /> 
</form> 

然后在运行时的jQuery会做休息:

$('#select1').change(function() { 

if ($('option:selected', this).val() == 1) { 

    $('#button1').remove(); //clean up 
    $('#button2').remove(); //clean up 

    $('#form1').append('<input type="hidden" name="hosted_button_id" value="button1-code-here" id="button1" />'); 


} else { 

    $('#button1').remove(); //clean up 
    $('#button2').remove(); //clean up 

    $('#form1').append('<input type="hidden" name="hosted_button_id" value="button2-code-here" id="button2" />'); 

} 



}); 

我的问题是,有时当我选择选项1按钮它的提交按钮2.

是否paypal保存cookie当你去贝宝付款页面?

这是什么时候不能顺利运行?

回答

2

你的代码需要一些优化。让他们和它会按预期工作。

首先使用1个按钮,则不需要额外的按钮,你需要做的是更改值的唯一的事。使用一个按钮,您的整个代码就可以用这些简单的线条写下来。

$('#select1').change(function() { 

    if ($('option:selected', this).val() == 1) { 
     $("#button1").val("button-1-code"); 
    } else { 
     $("#button1").val("button-2-code"); 
    } 

}); 

并回答您的隔离问题:

我的问题是,有时当我选择选项1个按钮它的提交按钮2.

以上解决了这个问题

当您进入Pay​​Pal付款页面时,paypal会保存cookie吗?

有时,但你不能靠这个来开发代码

当这种不顺利,每次工作?

上述解决方案将再次把它做

1

你也可以如下使用它,

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript"> 

    $(function() 
    { 
     $('#select1').on('change',(function() 
     { 
      var id = $(this).text(); 
      var value = $(this).val(); 
      $('#button1').remove(); 
      $('#button2').remove(); 

      $('#form1').append('<input type="hidden" name="hosted_button_id" value="'+id+'-code-here" id="'+id+'" />'); 
     }); 
    }); 

</script>