Добрый день.
Ох были у меня мучения на этот счет :)
Сразу скажу что на изящество решение не тянет, и как кастомизировать не скажу, вся собака зарыта в том как битрикс вешает сабытия на эти селекты:
[url=http://new.diodica.ru/bitrix/admin/fileman_file_view.php?path=%2Fbitrix%2Fjs%2Fmain%2Fcore%2Fcore.js&site=s1&lang=ru]/bitrix/js/main/core/core.js[/url]
строка 788
функция BX.bind = function(el, evname, func)
Было
[CODE] if (el.addEventListener) {
el.addEventListener(evname, func, false);
}[/CODE]Стало
[CODE] if (el.addEventListener) {
if (evname == 'change' && window.jQuery) {
jQuery(el).bind(evname, func);
}
else {
el.addEventListener(evname, func, false);
}
}[/CODE]И соответственно надо симулировать не click а change. Ниже мой код. Может поможет. Он при выборе первого селекта автоматом заменяет все последующие в которых выбора нет (один вариант), на текст. А сами селекты скрывает выбирая этот единственный вариант.
[CODE]$(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();
}
}
});
});[/CODE]
Ох были у меня мучения на этот счет :)
Сразу скажу что на изящество решение не тянет, и как кастомизировать не скажу, вся собака зарыта в том как битрикс вешает сабытия на эти селекты:
[url=http://new.diodica.ru/bitrix/admin/fileman_file_view.php?path=%2Fbitrix%2Fjs%2Fmain%2Fcore%2Fcore.js&site=s1&lang=ru]/bitrix/js/main/core/core.js[/url]
строка 788
функция BX.bind = function(el, evname, func)
Было
[CODE] if (el.addEventListener) {
el.addEventListener(evname, func, false);
}[/CODE]Стало
[CODE] if (el.addEventListener) {
if (evname == 'change' && window.jQuery) {
jQuery(el).bind(evname, func);
}
else {
el.addEventListener(evname, func, false);
}
}[/CODE]И соответственно надо симулировать не click а change. Ниже мой код. Может поможет. Он при выборе первого селекта автоматом заменяет все последующие в которых выбора нет (один вариант), на текст. А сами селекты скрывает выбирая этот единственный вариант.
[CODE]$(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();
}
}
});
});[/CODE]