You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.6 KiB
JavaScript
57 lines
1.6 KiB
JavaScript
/**
|
|
* @name 下拉菜单帮助类
|
|
*/
|
|
; var selectHelper = (function ($, window, document, undefined) {
|
|
var defaults = {
|
|
url: "", //获取菜单的地址
|
|
data: { rId: Math.random() }, //需要的参数
|
|
Id: "", //页面绑定元素的Id
|
|
flag: true, //是否显示默认值
|
|
key: 0, //默认值的Key值
|
|
value: "", //默认值的Value值
|
|
changeFun: function (value) { } //菜单切换时的事件
|
|
}
|
|
|
|
/**
|
|
* (私有方法)下拉菜单绑定
|
|
*/
|
|
var bind = function (opt, data) {
|
|
$(opt.Id).html("");
|
|
if (opt.flag) {
|
|
$(opt.Id).append($("<option>").val(opt.key).text(opt.value));
|
|
}
|
|
$(data).each(function (index, dom) {
|
|
$(opt.Id).append($("<option>").val(dom.Key).text(dom.Value));
|
|
});
|
|
if (typeof (opt.changeFun) == "function") {
|
|
$(opt.Id).unbind("change").change(function () {
|
|
var value = $(opt.Id).val();
|
|
opt.changeFun(value);
|
|
});
|
|
}
|
|
};
|
|
|
|
/**
|
|
* 获取下拉菜单
|
|
*/
|
|
var GetSelect = function (options) {
|
|
var opt = {};
|
|
opt = $.extend({}, defaults, options || {});
|
|
|
|
$.ajax({
|
|
url: opt.url,
|
|
type: "POST",
|
|
async: false,
|
|
dataType: "json",
|
|
data: opt.data,
|
|
success: function (data) {
|
|
bind(opt, data);
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
return {
|
|
GetSelect: GetSelect,
|
|
};
|
|
})(jQuery, window, document); |