Выбрать на JS определённый option в Select + нажать кнопку.

jabbaxatt

Добрый модератор
Регистрация
21 Янв 2009
Сообщения
902
Реакции
432
Понимаю что изврат, но можно ли по нажатию на ссылку (onclick)
выбрать определённую позицию в выпадающем списке, а после этого выбора нажать определённую кнопку. Причём и у селекта и у кнопки ID нет, но есть классы.
HTML:
<select   name="jbprice-5542323c8c251" class="jsParam" data-index="p1-">
    <option value="nomer-studio">Номер-студио</option>
    <option value="standartnyj-odnomestnyj">Стандартный одноместный</option>
    <option value="standartnyj-dvumestnyj-s-odnoj-krovatyu">Стандартный двуместный с одной кроватью</option>
    <option value="dvumestnyj-lyuks-s-odnoj-krovatyu">Двуместный люкс с одной кроватью</option>
    <option value="dvumestnyj-lyuks-s-dvumya-krovatyami">Двуместный люкс с двумя кроватями</option>
    <option value="prezidentskij">Президентский</option>
</select>
+
<a href="#add-to-cart-goto" class="jsAddToCartGoto jbzoo-button green" title="Забронировать">Забронировать</a>
 
Понимаю что изврат, но можно ли по нажатию на ссылку (onclick)
выбрать определённую позицию в выпадающем списке, а после этого выбора нажать определённую кнопку.
На JQuery
Код:
$(document).ready(function(){
  $('.jsAddToCartGoto').on('click', function(){
     $('.jsParam option[value=dvumestnyj-lyuks-s-odnoj-krovatyu]').attr('selected', 'selected');
     $('.button').trigger('click');
  });
});
 
Последнее редактирование:
Понимаю что изврат, но можно ли по нажатию на ссылку (onclick)
выбрать определённую позицию в выпадающем списке, а после этого выбора нажать определённую кнопку. Причём и у селекта и у кнопки ID нет, но есть классы.
HTML:
<select   name="jbprice-5542323c8c251" class="jsParam" data-index="p1-">
    <option value="nomer-studio">Номер-студио</option>
    <option value="standartnyj-odnomestnyj">Стандартный одноместный</option>
    <option value="standartnyj-dvumestnyj-s-odnoj-krovatyu">Стандартный двуместный с одной кроватью</option>
    <option value="dvumestnyj-lyuks-s-odnoj-krovatyu">Двуместный люкс с одной кроватью</option>
    <option value="dvumestnyj-lyuks-s-dvumya-krovatyami">Двуместный люкс с двумя кроватями</option>
    <option value="prezidentskij">Президентский</option>
</select>
+
<a href="#add-to-cart-goto" class="jsAddToCartGoto jbzoo-button green" title="Забронировать">Забронировать</a>
Код:
$(document).ready(function(){
  $('.jsAddToCartGoto').on('click', function(){
     $('.jsParam').val('dvumestnyj-lyuks-s-odnoj-krovatyu');
$('.button').trigger('click');
  });
});
или так
 
А не подскажете чем один вариант лучше или хуже другого?
Как по быстродействию - не знаю, хотя в данном случае скорость не принципиальна. Меньше кода, проще и понятнее - это, как правило, лучше :)
Т.е. ни функционально, ни по правильности они не отличаются?
Можно ещё так:
Код:
$(document).ready(function(){
  $('.jsAddToCartGoto').on('click', function(){
     $('.jsParam')[0].value='dvumestnyj-lyuks-s-odnoj-krovatyu';
     $('.button').trigger('click');
  });
});
Так:
Код:
$(document).ready(function(){
  $('.jsAddToCartGoto').on('click', function(){
     $('option[value=dvumestnyj-lyuks-s-odnoj-krovatyu]').prop('selected', true);
     $('.button').trigger('click');
  });
});
И даже так:
Код:
$(document).ready(function(){
  $('.jsAddToCartGoto').on('click', function(){
     $('.jsParam option:eq(3)')[0].selected='selected';
     $('.button').trigger('click');
  });
});
 
Назад
Сверху