jquery开发模板

模板

/**
 * @author hp
 *
 * 初始化:
 * $("#xxx").hpSelect({
            data: [{
                id: '1',
                name: '我的实习实践计划(项目)',
                selected:true
            }, {
                id: '2',
                name: '全部'
            }],
            autowidth:true,
            width:'200',
            height:'30',
            optionBoxWidth: '200',
            callBack: function() {
              //  alert($("#select").hpSelect("getName"));
            }
        });
 * 方法:
 * 获取ID$("#xxx").hpSelect("getId")
 * 获取name$("#xxx").hpSelect("getName")
 *
 * 设置ID$("#xxx").hpSelect("setId",data)
 * 设置多个ID$("#xxx").hpSelect("setIds",arry)
 * 设置Name$("#xxx").hpSelect("setName",name)
 * 设置Name$("#xxx").hpSelect("setData",data);异步设值,下拉内容
 *
 * @date 2017-02-08
 */
(function($) {
    //初始化对象可设置的属性
    var defaults = {
        data: "",
        autowidth: false,      //是否固定宽度,true 为自动宽度,false 为固定宽度
        width: '100',          //固定宽度时,设置select的宽度
        maxWidth: '200',       //自动宽度时候,设置最大select的宽度
        optionBoxWidth: '100', //设置下拉最大宽度
        height: "30",          //设置select高度
        placeholder:"请输入",  //输入提示语
        callBack: function() {}//回调函数
    };
    var methods = {
        init: function(options) {
            $(this).hpSelect('setOptions', options);
            return this;
        },
        /**
         * 设置运行参数
         */
        setOptions: function(options) {
            // 尝试去获取settings,如果不存在,则返回“undefined”
            var settings = $(this).data('hpSelect');
            // 如果获取settings失败,则根据options和default创建它
            if (!settings)
                settings = {};
            settings = $.extend({}, defaults, options);
            // 保存我们新创建的settings
            $(this).data('hpSelect', settings);
            return this;
        }

    };
    $.fn.hpSelect = function(method) {
        //假如方法存在
        if (methods[method]) {
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
            //假如方法不存在,直接调用methods的init方法
        } else if (typeof method === 'object' || !method) {
            return methods.init.apply(this, arguments);
            //否则报错。方法名不正确
        } else {
            alert('错误: ' + method + ' 不是本插件的方法!');
        }
    };

})(jQuery);

 

posted @ 2017-09-01 15:10  hupan508  阅读(144)  评论(0编辑  收藏  举报