Управление jquery value аттрибутом в <option>

106
11 апреля 2021, 06:20

Здравcтвуйте. Есть код: http://jsfiddle.net/zqx1jy70/

        var colors=[];
colors['Черный']='black';
colors['Серый']='gray';
colors['Темно-серый']='darkgray';
colors['Коричневый']='brown';
colors['Бежевый']='beje';
colors['Темно-бежевый']='darkbeje';
colors['Зеленый']='green';
colors['Салатовый']='salat';
colors['Синий']='blue';
colors['Василек']='vas';
colors['Темно-синий']='darkblue';
colors['Бордовый']='bordo';
colors['Красный']='red';
colors['Оранжевый']='orange';
colors['Желтый']='yellow';
colors['Фиолетовый']='violet';
colors['Белый']='white';
jQuery('.color-bgF').data("value","Оранжевый");
jQuery('.color-borderF').val('Бордовый');
jQuery('.color-bgF').change(function(){
        var bgclass='bg-'+colors[jQuery(this).val()];
        jQuery('#kovrikF').removeClass (function (index, className) {
    return (className.match (/(^|\s)bg-\S+/g) || []).join(' ');
});
        jQuery('#kovrikF').addClass(bgclass)
    });
jQuery('.color-borderF').change(function(){
        var bgclass='border-'+colors[jQuery(this).val()];
        jQuery('#kovrikF').removeClass (function (index, className) {
    return (className.match (/(^|\s)border-\S+/g) || []).join(' ');
});
        jQuery('#kovrikF').addClass(bgclass)
    });

Вообщем, скрипт при корректно заполненном value работает, но у меня не получается его подработать под data-value. Заранее спасибо за помощь.

Answer 1

Вообще странно, что ты хочешь достать value из атрибута data у option.

Но если надо, то замени

var bgclass='bg-'+colors[jQuery(this).val()];
var bgclass='border-'+colors[jQuery(this).val()];

на

var bgclass='bg-'+colors[jQuery(this).find(':selected').data('value')];
var bgclass='border-'+colors[jQuery(this).find(':selected').data('value')];

http://jsfiddle.net/qLr7as06/1/

Но я бы сразу в атрибут value у option запихал нужное значение.

READ ALSO
Самовызывающиеся функции и момент их инициализации [дубликат]

Самовызывающиеся функции и момент их инициализации [дубликат]

Из-за чего в коде ниже на момент выполнения самовызывающейся функции переменная f не определена? Ведь самовызывающиеся ф-и вроде как не поднимаются...

102
Получить данные со страницы в виде json

Получить данные со страницы в виде json

Есть страница в которой просто написано в виде json, мне нужно как-то получать каждое из этих чтобы я мог с этим работатькак это реализовать?

88