bootstrap.textbox.js
2.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/**
* 显示一个文本框
* 作者:黄平
* 日期:2016-04-26
* 继承validate
*/
(function($) {
$.fn.textbox = function(options, param) {
var self = this;
if (typeof (options) == "string") {
var method = $.fn.textbox.methods[options];
if (method){
return method.call(this, param);
}
}
return this.each(function() {
var opt = $.extend({}, $.fn.textbox.defaults, options);
self.data("textbox", opt);
_createTextbox(self);
});
};
/**
* 创建text
*/
function _createTextbox(jq) {
var opt = jq.data("textbox");
jq.addClass("form-control");
jq.css("border-radius", opt["border-radius"]);
if (opt.placeholder) {
jq.attr("placeholder", opt.placeholder);
}
if (opt.type) {
jq.attr("type", opt.type);
}
if (opt.width) {
jq.css("width", opt.width);
}
if (opt.height) {
jq.css("height", opt.height);
}
jq.prop("readonly", opt.editable === false || opt.readonly === true);
jq.prop("disabled", opt.disabled);
if (opt.value) {
jq.val(opt.value);
}
//内部的图标
var span;
if (opt.iconCls) {
span = $("<span>").addClass(opt.iconCls).addClass("glyphicon form-control-feedback").attr("aria-hidden", true);
}
if (opt.wrap === true) {
//创建一个div包一下
var div = $("<div>").css("width", "100%");
div.addClass("input-group has-feedback");
jq.before(div);
div.append(jq).append(span);
} else {
jq.parent().addClass("input-group has-feedback");
jq.after(span);
}
//继承validate
jq.validate(opt);
}
/**
* 方法继承$.fn.validate.methods
*/
$.fn.textbox.methods = $.extend({}, $.fn.validate.methods, {
/**
* 设置或获取输入框的只读状态
* @param value
*/
readonly : function(value) {
if (value === undefined) {
return $(this).prop("readonly");
} else {
return $(this).each(function() {
$(this).readonly(value);
});
}
},
/**
* 设置或获取值
* @param value
*/
value : function(value) {
if (value === undefined) {
return $(this).val();
} else {
return $(this).each(function() {
$(this).val(value);
});
}
}
});
/**
* 事件继承$.fn.validate.event
*/
$.fn.textbox.event = $.extend({}, $.fn.validate.event, {
});
/**
* 属性继承$.fn.validate.defaults
*/
$.fn.textbox.defaults = $.extend({}, $.fn.textbox.event, $.fn.validate.defaults, {
"border-radius" : "5px", //输入框的圆角
width : undefined, //文本框宽度
height : undefined, //文本框高度
placeholder : "请输入内容", //文本框提示文字
value : "", //文本框值
type : "text", //文本框类型
editable : true, //文本框是否可以编辑
readonly : false, //文本框是否只读
disabled : false, //文本框是否禁用
iconCls : "", //文本框显示图标
wrap : false //是否使用div包一下
});
})(jQuery);