HELLP,
我正在为我的页面开发一个在线捐赠网站.我希望用户有一个带有付款选项的下拉框($5,$10,$20,Other).如果选择“其他”选项,我目前将其设置为显示输入框的位置;如果选择了另一个选项($5,$20),则隐藏输入框.此外,捐款通过pay-pal进行,我已将Pay-Pal捐赠按钮/ PHP纳入网站.我遇到了以下问题:因为输入框是填充捐赠金额的字段,Pay-Pal无法识别下拉金额.例如,如果我选择“其他”选项,请在输入框中输入$100,然后从下拉框中选择“$10”选项(让我们假设我改变主意并想捐出10美元而不是100美元),然后点击捐赠按钮,Pay-Pal处理100美元而不是10美元的付款(因为它是从输入框中拉出来的).
我相信我有一个修复,但我不一定确定如何编码.我正在寻求以下帮助:当用户从下拉框中选择一个选项时,我希望此操作使用相应的值填充(隐藏)输入框.类似地,如果用户从下拉列表中选择“其他”选项,我希望输入框(现在可见)填充“”,因为用户将填充此选项他/她自己.
同样,我不确定如何编写这样的代码,我希望有人可以指出我正确的方向.我真的非常感谢任何帮助,我非常感谢你的时间.谢谢!
编辑:谢谢你的帮助.这是我现在的代码:
<select name="amount" id="otherFieldOption" class="dropdown"> <option value="20">$20</option> <option value="10">$10</option> <option value="5" selected="selected">$5</option> <option value="otherField">Other</option> </select> <div id="otherField"> Amount: <input type="text" id="amount" name="amount" class="textfield" size="10"/> </div>
jquery代码:
$(document).ready(function() { $.viewInput = { '0' : $([]),//THIS IS THE NAME OF THE DIV WRAPPING THE HIDDEN FIELD 'otherField' : $('#otherField'),}; $('#otherFieldOption').change(function() { // HIDES THE INPUT FIELD IF ANOTHER DROPDOWN ITEM IS SELECTED ONCE THE HIDDEN FIELD IS LOADED $.each($.viewInput,function() { this.hide(); }); // SHOWS THE INPUT FIELD ITEM IF SELECTED $.viewInput[$(this).val()].show(); }); });
解决方法
这是一个
demo
<select id="choice"> <option value="10">10</option> <option value="20">20</option> <option value="50">50</option> <option value="other">other</option> </select> <input type='text' id="other" class="hidden" />
和jquery一起去
$('#choice').change(function(){ var selected_item = $(this).val() if(selected_item == "other"){ $('#other').val("").removeClass('hidden'); }else{ $('#other').val(selected_item).addClass('hidden'); } });