Получение значений из нескольких элементов HTML

0

У меня есть список дат для событий, которые клиенты могут заказать через форму. На данный момент у меня есть громоздкий скрипт onclick прикрепленный к тегам <a>:

<h4>New York</h4>
<a onclick="$('#buy-form').animatescroll({scrollSpeed:700,easing:'easeInOutSine'}); document.getElementById('date').value='20-24 January'; document.getElementById('venue').value='New York'; $('#resicheck').attr('disabled', true);">20-24 January</a>

Это прокручивает страницу с помощью animatescroll JQuery плагина, задает ввод даты в форме, устанавливает вход места на форме, и отключает флажок. Для каждого места есть несколько дат, поэтому он добавляет много кода и, как правило, неприятен.

Мне не хватало бы всего этого в аккуратную функцию, но как я могу получить соответствующий текст места и даты для использования, учитывая, что даты различны и есть несколько мест?

Теги:

2 ответа

1

Здесь сценарий:

function updateDetails(loc, date) {
   $('#buy-form').animatescroll({scrollSpeed:700,easing:'easeInOutSine'});    
   document.getElementById('date').value= date; 
   document.getElementById('venue').value= loc;   
   $('#resicheck').attr('disabled', true);
}

И вот наценка:

<h4>New York</h4>
<a href="javascript:updateDetails('New York', '20-24 January');">20-24 January</a>
<a href="javascript:updateDetails('New York', '24-28 January');">24-28 January</a>
<h4>New Jersey</h4>
<a href="javascript:updateDetails('New Jersey', '10-14 January');">10-14 January</a>
1
$('a').on('click', function (e) {
    $('#buy-form').animatescroll({scrollSpeed:700,easing:'easeInOutSine'});
    $('#date').val('20-24 January');
    $('#venue').val('New York');
    $('#resicheck').attr('disabled', true);
});

Это относится к одной ссылке. Для нескольких ссылок вы можете прикрепить элемент данных к каждому отдельному элементу, например:

<a href="#" data-date="20-24 January" data-venue="New York">20-24 January</a>
<a href="#" data-date="22-25 January" data-venue="LA">22-25 January</a>

Затем используйте следующий javascript

$('a').on('click', function (e) {
    $('#buy-form').animatescroll({scrollSpeed:700,easing:'easeInOutSine'});
    $('#date').val($(this).data('date'));
    $('#venue').val($(this).data('venue'));
    $('#resicheck').attr('disabled', true);
});

Вы можете использовать jQuery (и javascript) для присоединения событий и вывода кода в html. Доступ к ID в jQuery осуществляется с #[id] и дополнительная информация находится на сайте jQuery

  • 0
    Правильно ли я считаю, что это активирует все теги <a> ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню