Привет,
Я работаю над разработкой сайта онлайн-пожертвований для моей страницы. Я хотел бы, чтобы у пользователя был раскрывающийся список с вариантами оплаты (5 долларов, 10 долларов, 20 долларов, другое). В настоящее время я настроил его так, чтобы он отображал поле ввода, если выбран вариант «другое»; если выбран другой вариант ($5, $10, $20), то поле ввода скрыто. Кроме того, пожертвования принимаются через PayPal, и я включил кнопку/php пожертвования Pay-Pal на сайт. Я столкнулся со следующей проблемой: поскольку поле ввода — это поле, которое заполняет сумму пожертвования, 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();
});
});