Здравствуйте друзья. Подскажите пожалуйста как выделить цветом выбранный элемент из выпадающего списка, который состоит из трех значений (на рассмотрении, одобрено и отклонено). То есть когда выбрано "одобрено", чтоб был зеленым, когда "отклонено", красным. Php берет эти данные с базы. С помощью js или php как мне лучше это сделать ? Вот что выдает консоль. <select id="status" data-id="7"> <option value="0">на рассмотрении</option> <option value="1" selected="">одобрено</option> <option value="2">отклонено</option> </select>
Код (Javascript): $('select').on('change', function(){ var $option = $(this); if ($option.val() == '1') { $option.css('color','red'); } else { $option.css('color','black'); } }).change(); вот такой скрипт есть, но почему то не работает.
HTML: <style> .color2{color:red} .color1{color:green} option{color:black} </style> <select class="color1" id="status" data-id="7" onchange="this.className='color' + this.value"> <option value="0">на рассмотрении</option> <option value="1" selected>одобрено</option> <option value="2">отклонено</option> </select>
как сделать чтоб не при выборе из списка он менял цвет, а при загрузке страницы сразу меняла цвет на соответсвующий цвет исходя из value ? class="color1" я убрал, потому что, что бы не выбрал, то после перезагрузки цвет становился зеленым. class="color + this.value" можно ли вот так написать. чтоб исходя из value менялся class?
@ara05ru, ты как на сервере присваиваешь selected нужному option? Вот точно так же можно прописать класс для select в зависимости от отмеченного option.
HTML: <select class="color<?= $sss; ?>" id="status" data-id="<?= $item['id'] ?>"> <? foreach ($status as $k => $v) { ?> <option value="<?= $k; ?>" <?= $k == $item['status'] ? " selected" : ""; ?>><?= $v; ?></option> <?$sss=$k?> <? } ?> </select> вот так пробую делать , не получается