У меня проблема, которую я пытаюсь решить. Нужны советы в правильном направлении:
С помощью Prestashop при создании комбинаций у вас есть список dropdwon на странице продукта, где клиент может выбрать комбинацию. Здесь, в файле product.tpl, я создал дополнительную кнопку, чтобы привлечь внимание клиентов к определенной комбинации. Теперь я хотел бы, чтобы эта комбинация автоматически выбиралась и активировалась, когда пользователь нажимает на эту кнопку. Я ввел код javascript в файл product.tpl, который также скрывает некоторые другие элементы при нажатии кнопки. Я просто не понимаю, что на mouseclick выбран вариант определенного атрибута. У кого-то есть некоторые подсказки, чтобы решить это?
Это список опций выбора атрибутов на странице продукта. Например, я хочу, чтобы при нажатии кнопки выберите вариант "Большой" и активизируется на странице продукта через функцию onclick с помощью jquery/javascript внутри шаблона. Как достичь этого?
<select id="group_4" class="attribute_select selectBox" onchange="findCombination();getProductAttribute();$('#wrapResetImages').show('slow');;" name="group_4" style="display: none;">
<option title="Small" selected="selected" value="21">Small</option>
<option title="Medium" value="41">Medium</option>
<option title="Large" value="40">Large</option>
<option title="Extralarge" value="25">Extralarge</option>
Я пробовал с этим, но он не работает:
$('#group_4 option[value='58']').attr('selected', 'selected').change();
Ваши кавычки ошибочны, глядя на консоль, вы получите сообщение об ошибке Uncaught SyntaxError: Неожиданный номер
$('#group_4 option[value='58']').attr('selected', 'selected').change();
^ ^
должно быть
$('#group_4 option[value="58"]').attr('selected', 'selected').change();
Чтобы изменить выбранный параметр, вы можете просто изменить значение элемента select с помощью простого JS:
document.getElementById('group_4').value = 58;
Тем не менее, вам все равно придется запускать событие изменения после этого.
См. Простой пример здесь: http://jsfiddle.net/BgBGL/1/ (использует alert как onchange callback)
$('#group_4 option[value="58"]').prop('selected', true).closest('select').trigger('change');
$('#group_4').val('58')