jQuery select下拉菜单美化插件ddlist

在线演示  下载

service.ddlist.jquery是一款小巧的jquery下拉列表插件,它允许我们在下拉列表中插入图片、文本和其它一些额外的东西。

该下拉列表插件通过<select>元素开发,使用jQuery将其隐藏,并生成新的html结构。

HTML结构

要使用该插件,首先要在html的header中引入以下文件:

<link rel="stylesheet" type="text/css" href="[your-path]/service.ddlist.jquery.css" />
<script src="[your-path]/service.ddlist.jquery.min.js"></script>

然后在html中对于一个select元素,例如:

<select id="myList">
  <option value="0">Text 0</option>
  <option value="1" selected="selected">Text 1</option>
  ...
  <option value="9">Text 9</option>
</select>

然后通过jQuery调用该下拉列表插件:

<script type="text/javascript">
  // Execute on page load
  $(function () {
      $('#myList').ddlist({
        width: 270,
        onSelected: function (index, value, text) {
          // Do something with selected option
          ...
        }
      });
  });
</script>

获取下拉列表的值

有三种方法可以指定列表项的值:

  • 在某个选项上设置“selected”;
  • 你可以在插件初始化的时候设置“selectionIndex”的值来选择指定的项;
  • 如果以上两个选项都未被设定,那么第一个选项将被执行。

Example 1:

<select id="myList">
  <option value="0">Red</option>
  <option value="1" selected="selected">Green</option>
  <option value="2">Blue</option>
</select>

'Green'将被选择为默认选项。

Example 2:

<select id="myList">
  <option value="0">Red</option>
  <option value="1">Green</option>
  <option value="2">Blue</option>
</select>
<script type="text/javascript">
  // Execute on page load
  $(function () {
      $('#myList').ddlist({
        width: 270,
        selectionIndex: 2,
        onSelected: function (index, value, text) {
          // Do something with selected option
          ...
        }
      });
  });
</script>

例子2中,"Blue"将被设置为默认选项。

带图片的选项

你可以为每一个选项指定一张图和段描文本。你必须通过HTML5的data-imagesrc 和data-description属性来指定它们。

<select id="myList">
  <option value="0" data-imagesrc="/images/option0img.png" data-description="A description for the option">text - 0</option>
  ...
  <option value="4" data-imagesrc="/images/option4img.png" data-description="A description for the option">text - 4</option>
</select>

 

编写CSS样式

在该下拉列表插件带有一个CSS文件包含当前列表的内部元素的各种样式,但是如果你想自定义下拉列表的样式,那么你必须知道该下拉列表的DOM结构:

<div id="ddList-[select-id]" class="ddListContainer">
  <a>
    <img src="option-image-url" />
    <label>option-text</label>
    <small>option-description</small>
  </a>
  <span class="ddListArrow"></span>
  <ul>
    <li>
      <a>
        <img src="option-image-url" />
        <label>option-text</label>
        <small>option-description</small>
    </li>
    ...
    <li>..</li>
  </ul>
</div>
  • 根元素是一个id为ddList-开头的select元素。
  • 第一个<a>元素是下拉列表的可见选项:
    • <label>元素用于显示选项
    • <img>元素和<small>元素是可选的,它们用于显示选项前面的图标和选项的描述文本。
  • 第二个<span>元素是下拉列表的上下箭头。
  • 第三个<ul>元素包含所有的选项。

API

初始化方法:

[jqObject(s)].ddlist(options)

可选参数:

width:Integer default:260-该参数对于下拉列表的宽度。

selectionIndex:Integer default:0-该参数指定初始化是哪个选项被选择。

disabled:Boolean default:false-设置为“true”则下拉列表不可用。

showSelectionTextOnly:Boolean default:false-设置为“true”仅下拉列表的文本。

onSelectedOnInit:Boolean default:false-设置为“true”时onSelected回调函数被触发。

onSelected:callback function Signature: onSelected: function (index, value, text) { }。

  • index:列表被选择项的index。
  • value:列表被选择项的value。
  • text:列表被选择项的text。
posted @ 2024-12-09 10:02  东绕城  阅读(5)  评论(0编辑  收藏  举报