Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Изображения в <select> (https://javascript.ru/forum/misc/29116-izobrazheniya-v-select.html)

klev2004 15.06.2012 17:02

Изображения в <select>
 
Занимаюсь реализацией выпадающего списка флагов стран. За основу взял идею отсюда:
http://archives.kh.ua/battle1.htm
Немного переиначил под себя и исправил вывод изображения в поле сразу после открытия страницы. Но вот обнаружил досадную проблему - изображения в выпадающем списке видно только в FF. В IE, Opera и GC не работает.
Помогите найти решение проблемы.

<style type="text/css">
    .icon {
        height: 36px;
        width:  36px;
        background-repeat: no-repeat;
        padding-top: 1px;
        padding-bottom: 1px;
        background-position: right;
    }


</style>

<script type="text/javascript" language="javascript">
 function doIcon( pVal)
 {
  var obj = document.getElementById( 'imgCombo');
  var img = 'imgselect/' + pVal + '.gif';
  obj.style.background = "url( '" + img + "') no-repeat";
 }
</script>

<form>
 <select id='imgCombo' onChange="javascript: doIcon( this.value );" style="width: 65px;" class="icon">
                 <option style="background-image: url(imgselect/01.gif);" class="icon" value="01">2</option> 
                 <option style="background-image: url(imgselect/02.gif);" class="icon" value="02">3</option> 
                 <option style="background-image: url(imgselect/03.gif);" class="icon" value="03">4</option>
                 <option style="background-image: url(imgselect/04.gif);" class="icon" value="04">5</option>
                 <option style="background-image: url(imgselect/05.gif);" class="icon" value="05">4</option>
                 <option style="background-image: url(imgselect/06.gif);" class="icon" value="06">4</option>
 </select>
</form>

Джэксон 15.06.2012 17:11

Скажите, а зачем переделывать то, что уже работает?

klev2004 15.06.2012 17:30

Цитата:

Сообщение от Джэксон
Скажите, а зачем переделывать то, что уже работает?

Оно работает только в Firefox. В остальных браузерах не работает.

Deff 15.06.2012 17:43

klev2004,
Проще делать список через li - c занесением по клику кода флага в единственный input type=text , a c li мон выпендривацо как угодно и фоном флажки или рядом изо

klev2004 15.06.2012 18:35

Такое чувство, что параметр background: url(...); не должен работать в <select><option>
Кто что скажет по этому поводу?

Найдено такое свойство:
select
{
-webkit-appearance: none;
}
Благодаря ему, изображение стало показываться в select в свернутом виде. В открытом списке выбора изображений все еще нет.

dmitriymar 15.06.2012 18:41

Цитата:

Сообщение от klev2004
Дизайн предполагает именно выпадающий список флагов.

Интересно как если браузер не поддерживает эту возможность?:-?
Чем вам методика использующаяся в джиквери ui не подходит?
Делаете выпадающий список или что там у вас обеспечивающее функциональность без подключения js,а затем стилизуете его заменой на li и селекторов css если необходимо

klev2004 15.06.2012 19:29

dmitriymar, спасибо за наводку, пока не понимаю о чем говорите, погуглю.

tadjik1 15.06.2012 19:31

мне кажется об этом:
http://harvesthq.github.com/chosen/

dmitriymar 15.06.2012 20:32

http://www.books.ru/books/jquery-pod...script-619339/
книга есть в свободной скачке
раздел jquery UI -там есть подробное описание как в джиквери организовываются подобные пользовательские элементы -рассматривается общий механизм их формирования без привязки к джиквери

cmd 15.06.2012 20:53

<select> редендится браузером и применять к нему какие-то свойство (даже элементарные свойства css) часто-густо бесполезно некроссбраузено. Гуглите "имитация select" или типа того, если хотите посмотреть рабочие примеры.


Часовой пояс GMT +3, время: 23:35.