Если у вас есть навыки в программировании на стороне сервера (PHP, ASP, ASP.Net, JSP), это может быть путь.Когда флажок изменится, перерисуйте параметры, используя AJAX некоторого вида (например, ASP.Net UpdatePanel).Это позволит избежать многого с JavaScript на клиенте, хотя это, безусловно, выполнимо.
Если вы не сильны в программировании на стороне клиента или на стороне сервера, сторонняя корзина покупок, вероятно, подойдетидти.Я бы начал ваше расследование с PayPal.
Важное замечание: если вы все же пишете свою собственную форму заказа, убедитесь, что вы не храните номера кредитных карт в любой момент процесса.Избегайте даже предоставления номеров кредитных карт на ваш сайт, если это вообще возможно.Ознакомьтесь с PCI Compliance.Это само по себе часто является оправданием для использования стороннего инструмента.
РЕДАКТИРОВАТЬ: В соответствии с комментарием Павла ниже, что он хочет сделать его настолько простым, насколько это возможно, и никакие транзакции не будут обрабатываться:
"Могут ли атрибуты событий вызывать только JavaScript?"
Да, либо встроенный JavaScript, либо скрипт, содержащийся во внешнем файле, или в другом месте страницы в тегах скрипта.
ВотНебольшой пример одного флажка, запускающего другие элементы HTML (в данном случае, другие флажки): http://www.htmlcodetutorial.com/forms/_INPUT_onClick.html
Вы можете показать или скрыть элемент, используя такой код:
var elementToToggle = document.getElementById('someId');
elementToToggle.style.display = "none"; // hide
OR
elementToToggle.style.display = "";
ИспользуяБиблиотека jQuery (www.jquery.com) могла бы сделать это проще, но есть начальная кривая обучения.