下拉列表 ui.select

下拉列表结构

    <div class="select ">                    
        <div class="selected">全站</div>                    
        <input type="hidden" name="category_id" value="0">
        <ul class="options" style="display: none;">
            <li class="cur" data-val="0">全站</li>
            <li class="" data-val="1">栏目A</li>
            <li class="" data-val="2">栏目B</li>
        </ul>
    </div>

呈现样式

具体效果可参见 http://www.kuaizhan.com/ui/ui-create

创建一个下拉列表

使用接口 ui.select 可以动态地创建一个下拉列表

参数(以JS Object形式给出):
    class: 在下拉列表最外层添加class,便于添加额外的样式或者功能
    name: 设置input hidden标签的name,便于之后获取数据
    options: 下拉列表数据
        [
            {
                name: 下拉列表中每一项显示名称(字符串)
                value: 下拉列表中每一项对应的值(字符串)
                cur: 是否为当前显示(true或者false,列表中只能有一项为false)
                disabled: 当前下拉列表项是否可以选择(true或者false)
            },
            ...
        ]
    不需要使用的参数可以直接省略

示例代码:

        //put select
        var form = $("#js-form-put-select");

        //获取下拉列表html
        var select = ui.select.create({
            "class": "category-type",
            "name": "category_id",
            "options": [
                {
                    "name": "全站",
                    "value": "0",
                    "cur": true
                },
                {
                    "name": "栏目A",
                    "value": "1",
                    "disabled": true
                },
                {
                    "name": "栏目B",
                    "value": "2"
                }
            ]
        });

        form.find(".js-put-select").replaceWith(select);
        //绑定下拉列表相关事件
        ui.select.init(form);

        //针对下拉列表数据变化进行处理
        form.on("change", "input[name='category_id']", function () {
            //数据变化需要执行的逻辑写在这里
        });