2010-06-03 57 views
97

我有选择性别列表。如何在选择列表中添加图片

代码:

<select> 
<option>male</option> 
<option>female</option> 
<option>others</option> 
</select> 

我想在下拉列表中的下拉-icon.jpeg使用的图像。

我想添加一个按钮来代替下拉图标。

如何做到这一点?

+8

[在SELECT元件图像]的重复(http://stackoverflow.com/questions/1697996/image-in-select-element)和[我怎样才能把图像放入选择?](http://stackoverflow.com/questions/2524953/how-can-我 - 把 - 的图像,为选择)。http://stackoverflow.com/search?q=html+select+image。 – 2010-06-03 12:53:17

+34

会更积极。堆栈溢出社区是一个友好的。 – think123 2012-06-07 09:29:55

+0

作为一个通用的解决方案:如果可以的话,把你的图标合并为SVG,将它们导入你选择的字体到个人Unicode范围,在你的'

回答

146

火狐你可以添加背景图片的选项:

<select> 
    <option style="background-image:url(male.png);">male</option> 
    <option style="background-image:url(female.png);">female</option> 
    <option style="background-image:url(others.png);">others</option> 
</select> 

更重要的是,你可以像

HTML

<select id="gender"> 
    <option>male</option> 
    <option>female</option> 
    <option>others</option> 
</select> 

单独的HTML和CSS CSS

select#gender option[value="male"] { background-image:url(male.png); } 
select#gender option[value="female"] { background-image:url(female.png); } 
select#gender option[value="others"] { background-image:url(others.png); } 

在其它的浏览器将被使用一些JS部件库,像例如jQuery UI的唯一途径,例如使用Selectable

从jQuery UI 1.11,Selectmenu小工具可用,这是非常接近你想要的。

+17

2015年你有没有W3C有效的解决方案?不重新实现选择框? – 2015-05-16 20:58:55

+6

2017年如何?仍然没有解决办法 – 2017-04-21 11:23:42

+0

https://www.sitepoint.com/13-jquery-selectboxdrop-down-plugins/ – Stefan 2017-05-25 14:04:51

13

另一个针对此问题的jQuery跨浏览器解决方案是http://designwithpc.com/Plugins/ddSlick,它正是用于此用途。

+2

视图演示不适用于我的电脑(Linux Mint + Firefox 44) – RousseauAlexandre 2016-08-27 12:08:25

+0

@RousseauAlexandre检查该另一个站点上的控制台我看到作者内容的403错误。我给他发了一条消息,因为在这里抱怨不会有任何好处。 – jerrygarciuh 2016-08-27 17:07:00

+0

你是对的,我得到了* http://my.hellobar.com/45874_63207.js*未找到错误,然后* TypeError:'$(...).ddslick'不是Firefox中的函数*控制台 – RousseauAlexandre 2016-08-28 16:00:14

25

您可以使用iconselect.js;图标/图像选择(组合框,下拉框)

演示和下载; http://bug7a.github.io/iconselect.js/

enter image description here

HTML使用;

<div id="my-icon-select"></div> 

Javascript usage;

var iconSelect; 

    window.onload = function(){ 

     iconSelect = new IconSelect("my-icon-select"); 

     var icons = []; 
     icons.push({'iconFilePath':'images/icons/1.png', 'iconValue':'1'}); 
     icons.push({'iconFilePath':'images/icons/2.png', 'iconValue':'2'}); 
     icons.push({'iconFilePath':'images/icons/3.png', 'iconValue':'3'}); 

     iconSelect.refresh(icons); 

    }; 
+15

这个插件有我见过的最奇怪的“要求”;如果定义了<!doctype html>',CSS和滚动功能会中断。 – 2015-01-30 14:32:16

0

我得到了同样的问题。我的解决方案是单选按钮的foreach,右边是图片。既然你只能在收音机上选择一个选项,它就像一个选择。

工作适合我。希望它可以帮助别人。

+2

请分享一些代码 – 2014-08-13 04:32:23

+1

'