Добрый день.
Ох были у меня мучения на этот счет
Сразу скажу что на изящество решение не тянет, и как кастомизировать не скажу, вся собака зарыта в том как битрикс вешает сабытия на эти селекты:
строка 788
функция BX.bind = function(el, evname, func)
Было
Стало
И соответственно надо симулировать не click а change. Ниже мой код. Может поможет. Он при выборе первого селекта автоматом заменяет все последующие в которых выбора нет (один вариант), на текст. А сами селекты скрывает выбирая этот единственный вариант.
Ох были у меня мучения на этот счет
Сразу скажу что на изящество решение не тянет, и как кастомизировать не скажу, вся собака зарыта в том как битрикс вешает сабытия на эти селекты:
строка 788
функция BX.bind = function(el, evname, func)
Было
| Код |
|---|
if (el.addEventListener) {
el.addEventListener(evname, func, false);
} |
| Код |
|---|
if (el.addEventListener) {
if (evname == 'change' && window.jQuery) {
jQuery(el).bind(evname, func);
}
else {
el.addEventListener(evname, func, false);
}
} |
| Код |
|---|
$(document).ready(function(){
$('#sku_selectors_list select').live('change',function(){
id = $(this).attr('id');
last = $('#sku_selectors_list select:enabled').last();
if ($(last).attr('id') != id) {
if ($(last).find('option').size() == 2) {
$(last).find('option:last').attr('selected','selected');
$(last).css('display','none');
$(last).parent().append($(last).find('option:last').text());
$(last).change();
}
}
});
}); |