1
- window . stop_ajax = false ;
1
+ window . stop_ajax = false ;
2
2
3
- function radio_tab ( radios , lists , prefix ) {
4
- $ ( radios ) . on ( 'change' , function ( e ) {
5
- if ( ! $ ( this ) . is ( ':checked' ) ) return ;
6
- var curval = $ ( this ) . val ( ) ;
3
+ function radio_tab ( radios , lists , prefix ) {
4
+ $ ( radios ) . on ( 'change' , function ( e ) {
5
+ if ( ! $ ( this ) . is ( ':checked' ) ) return ;
6
+ var curval = $ ( this ) . val ( ) ;
7
7
$ ( lists ) . hide ( ) ;
8
- $ ( '.' + prefix + curval ) . show ( ) ;
8
+ $ ( '.' + prefix + curval ) . show ( ) ;
9
9
} ) . filter ( ':checked' ) . trigger ( 'change' ) ;
10
10
}
11
11
12
+
12
13
//绑定数据
13
- function bindData ( body , data ) {
14
- for ( var i in data ) {
15
- body . find ( '[name=' + i + ']' ) . val ( data [ i ] ) ;
14
+ function bindData ( body , data ) {
15
+ for ( var i in data ) {
16
+ var field = body . find ( '[name=' + i + ']' )
17
+ if ( field . attr ( 'type' ) == 'radio' ) {
18
+ field . each ( function ( ) {
19
+ if ( $ ( this ) . val ( ) == data [ i ] ) {
20
+ $ ( this ) . prop ( 'checked' , true )
21
+ }
22
+ } )
23
+ } else if ( field . attr ( 'type' ) == 'checkbox' ) {
24
+ field . each ( function ( ) {
25
+ if ( data [ i ] . indexOf ( $ ( this ) . val ( ) ) > - 1 ) {
26
+ $ ( this ) . prop ( 'checked' , true )
27
+ }
28
+ } )
29
+ } else {
30
+ body . find ( '[name=' + i + ']' ) . val ( data [ i ] ) ;
31
+ }
16
32
}
17
33
}
18
34
19
35
//获取表单数据
20
36
function getData ( body ) {
21
- var data = { } ;
22
- var fields = body . find ( '[name]' ) ;
23
- for ( var i = 0 ; i < fields . length ; i ++ ) {
24
- data [ fields . eq ( i ) . attr ( 'name' ) ] = fields . eq ( i ) . val ( ) ;
37
+ var data = { } ;
38
+ var fields = body . find ( '[name]' ) ;
39
+ for ( var i = 0 ; i < fields . length ; i ++ ) {
40
+ var field = fields . eq ( i )
41
+ if ( field . attr ( 'type' ) == 'radio' ) {
42
+ field . each ( function ( ) {
43
+ if ( $ ( this ) . prop ( 'checked' ) ) {
44
+ data [ $ ( this ) . attr ( 'name' ) ] = $ ( this ) . val ( ) ;
45
+ }
46
+ } )
47
+ } else if ( field . attr ( 'type' ) == 'checkbox' ) {
48
+ var val = [ ]
49
+ field . each ( function ( ) {
50
+ if ( $ ( this ) . prop ( 'checked' ) ) {
51
+ val . push ( $ ( this ) . val ( ) ) ;
52
+ }
53
+ } )
54
+ data [ field . attr ( 'name' ) ] = val
55
+ } else {
56
+ data [ field . attr ( 'name' ) ] = field . val ( ) ;
57
+ }
25
58
}
26
59
return data ;
27
60
}
@@ -53,7 +86,7 @@ jQuery(function ($) {
53
86
bread . html ( html . join ( "\n" ) ) ;
54
87
}
55
88
56
- $ ( window ) . on ( 'scroll' , function ( e ) {
89
+ $ ( window ) . on ( 'scroll' , function ( e ) {
57
90
58
91
} ) . trigger ( 'scroll' ) ;
59
92
@@ -115,58 +148,58 @@ jQuery(function ($) {
115
148
} ) ;
116
149
117
150
// 状态切换 input[hidden]
118
- $ ( '.radiostatus' ) . click ( function ( e ) {
151
+ $ ( '.radiostatus' ) . click ( function ( e ) {
119
152
var init = $ ( this ) . data ( 'init' ) ;
120
153
var hid = $ ( this ) . find ( 'input' ) ;
121
154
var openText = hid . data ( 'open' ) ;
122
155
var closeText = hid . data ( 'close' ) ;
123
156
var value = hid . val ( ) ;
124
- if ( ! init ) {
125
- $ ( this ) . data ( 'init' , 1 ) ;
157
+ if ( ! init ) {
158
+ $ ( this ) . data ( 'init' , 1 ) ;
126
159
$ ( this ) . append ( '<span></span>' ) ;
127
- } else {
160
+ } else {
128
161
value = value == '1' ? 0 : 1 ;
129
162
hid . val ( value ) ;
130
163
}
131
- if ( value == '1' ) {
164
+ if ( value == '1' ) {
132
165
$ ( this ) . find ( 'span' ) . text ( openText )
133
- $ ( this ) . prop ( 'title' , '点击' + closeText ) ;
166
+ $ ( this ) . prop ( 'title' , '点击' + closeText ) ;
134
167
$ ( this ) . removeClass ( 'off' )
135
- } else {
168
+ } else {
136
169
$ ( this ) . find ( 'span' ) . text ( closeText )
137
- $ ( this ) . prop ( 'title' , '点击' + openText ) ;
170
+ $ ( this ) . prop ( 'title' , '点击' + openText ) ;
138
171
$ ( this ) . addClass ( 'off' )
139
172
}
140
173
141
174
} ) . trigger ( 'click' ) ;
142
175
143
176
// 状态切换按钮 切换后跳转
144
177
$ ( '.chgstatus' ) . click ( function ( e ) {
145
- if ( $ ( this ) . data ( 'ajaxing' ) ) return ;
146
- $ ( this ) . data ( 'ajaxing' , 1 ) ;
147
- var self = $ ( this ) ;
148
- var parent = self . parents ( 'td' ) ;
149
- var id = parent . data ( 'id' ) ;
150
- var status = self . data ( 'status' ) ;
178
+ if ( $ ( this ) . data ( 'ajaxing' ) ) return ;
179
+ $ ( this ) . data ( 'ajaxing' , 1 ) ;
180
+ var self = $ ( this ) ;
181
+ var parent = self . parents ( 'td' ) ;
182
+ var id = parent . data ( 'id' ) ;
183
+ var status = self . data ( 'status' ) ;
151
184
$ . ajax ( {
152
- url :parent . data ( 'url' ) ,
153
- type :'POST' ,
154
- dataType :'JSON' ,
155
- data :{
156
- id :id ,
157
- status :status
185
+ url : parent . data ( 'url' ) ,
186
+ type : 'POST' ,
187
+ dataType : 'JSON' ,
188
+ data : {
189
+ id : id ,
190
+ status : status
158
191
} ,
159
- success :function ( json ) {
160
- self . data ( 'ajaxing' , 0 ) ;
161
- if ( json . code == 1 ) {
192
+ success : function ( json ) {
193
+ self . data ( 'ajaxing' , 0 ) ;
194
+ if ( json . code == 1 ) {
162
195
dialog . success ( json . msg ) ;
163
196
self . toggleClass ( 'off' ) ;
164
- var totext = self . attr ( 'title' ) . replace ( '点击' , '' ) ;
197
+ var totext = self . attr ( 'title' ) . replace ( '点击' , '' ) ;
165
198
self . text ( totext ) ;
166
199
setTimeout ( function ( ) {
167
200
location . reload ( ) ;
168
- } , 1000 ) ;
169
- } else {
201
+ } , 1000 ) ;
202
+ } else {
170
203
dialog . error ( json . msg ) ;
171
204
}
172
205
}
@@ -188,43 +221,46 @@ jQuery(function ($) {
188
221
onshow : function ( body ) {
189
222
$ . ajax ( {
190
223
url : self . attr ( 'href' ) ,
191
- beforeSend : function ( request ) {
192
- request . setRequestHeader ( "X-Requested-With" , "htmlhttp" ) ;
224
+ beforeSend : function ( request ) {
225
+ request . setRequestHeader ( "X-Requested-With" , "htmlhttp" ) ;
193
226
} ,
194
227
success : function ( text ) {
195
228
body . html ( text ) ;
196
229
}
197
230
} ) ;
198
231
}
199
- } ) . show ( '<p class="loading">' + lang ( 'loading...' ) + '</p>' , title ) ;
232
+ } ) . show ( '<p class="loading">' + lang ( 'loading...' ) + '</p>' , title ) ;
200
233
201
234
} ) ;
202
235
203
236
//确认操作
204
237
$ ( '.link-confirm' ) . click ( function ( e ) {
205
238
e . preventDefault ( ) ;
206
239
e . stopPropagation ( ) ;
207
- var text = $ ( this ) . data ( 'confirm' ) ;
208
- var url = $ ( this ) . attr ( 'href' ) ;
209
- if ( text ) text = text . replace ( / ( \\ n | \n ) + / g, "<br />" ) ;
210
- if ( ! text ) text = lang ( 'Confirm operation?' ) ;
240
+ var text = $ ( this ) . data ( 'confirm' ) ;
241
+ var url = $ ( this ) . attr ( 'href' ) ;
242
+ if ( text ) text = text . replace ( / ( \\ n | \n ) + / g, "<br />" ) ;
243
+ if ( ! text ) text = lang ( 'Confirm operation?' ) ;
244
+ var method = $ ( this ) . data ( 'method' )
245
+ if ( ! method ) method = 'GET'
211
246
212
- dialog . confirm ( text , function ( ) {
247
+ dialog . confirm ( text , function ( ) {
213
248
$ . ajax ( {
214
- url :url ,
215
- dataType :'JSON' ,
216
- success :function ( json ) {
217
- dialog . alert ( json . msg , function ( ) {
218
- if ( json . code == 1 ) {
219
- if ( json . url ) {
220
- location . href = json . url ;
221
- } else {
249
+ url : url ,
250
+ type : method ,
251
+ dataType : 'JSON' ,
252
+ success : function ( json ) {
253
+ dialog . alert ( json . msg , function ( ) {
254
+ if ( json . code == 1 ) {
255
+ if ( json . url ) {
256
+ location . href = json . url ;
257
+ } else {
222
258
location . reload ( ) ;
223
259
}
224
260
}
225
261
} ) ;
226
262
} ,
227
- error :function ( ) {
263
+ error : function ( ) {
228
264
dialog . alert ( lang ( 'Server error.' ) ) ;
229
265
}
230
266
} )
@@ -235,11 +271,11 @@ jQuery(function ($) {
235
271
$ ( '.img-view' ) . click ( function ( e ) {
236
272
e . preventDefault ( ) ;
237
273
e . stopPropagation ( ) ;
238
- var url = $ ( this ) . attr ( 'href' ) ;
239
- if ( ! url ) url = $ ( this ) . data ( 'img' ) ;
274
+ var url = $ ( this ) . attr ( 'href' ) ;
275
+ if ( ! url ) url = $ ( this ) . data ( 'img' ) ;
240
276
var dlg = new Dialog ( {
241
277
btns : [ '确定' ]
242
- } ) . show ( '<a href="' + url + '" class="d-block text-center" target="_blank"><img class="img-fluid" src="' + url + '" /></a><div class="text-muted text-center">点击图片在新页面放大查看</div>' , '查看图片' ) ;
278
+ } ) . show ( '<a href="' + url + '" class="d-block text-center" target="_blank"><img class="img-fluid" src="' + url + '" /></a><div class="text-muted text-center">点击图片在新页面放大查看</div>' , '查看图片' ) ;
243
279
} ) ;
244
280
245
281
//tab切换效果
@@ -250,19 +286,19 @@ jQuery(function ($) {
250
286
251
287
//上传框
252
288
window . fileInputHander = function ( ) {
253
- var self = $ ( this ) ;
254
- if ( ! this . files || ! this . files [ 0 ] ) return ;
255
- var inputgroup = $ ( this ) . parents ( '.input-group' ) . eq ( 0 ) ;
256
- var parent = inputgroup . parents ( 'div' ) . eq ( 0 ) ;
289
+ var self = $ ( this ) ;
290
+ if ( ! this . files || ! this . files [ 0 ] ) return ;
291
+ var inputgroup = $ ( this ) . parents ( '.input-group' ) . eq ( 0 ) ;
292
+ var parent = inputgroup . parents ( 'div' ) . eq ( 0 ) ;
257
293
var label = $ ( this ) . parents ( '.custom-file' ) . find ( '.custom-file-label' ) ;
258
- if ( ! label . data ( 'origtext' ) ) {
259
- label . data ( 'origtext' , label . text ( ) ) ;
294
+ if ( ! label . data ( 'origtext' ) ) {
295
+ label . data ( 'origtext' , label . text ( ) ) ;
260
296
}
261
297
label . text ( $ ( this ) . val ( ) ) ;
262
298
263
- if ( ! window . URL && ! window . URL . createObjectURL ) return ;
264
- var file = self [ 0 ] . files [ 0 ] ;
265
- var is_img = file . type && file . type . match ( / ( \. | \/ ) ( j p e ? g | p n g | g i f | w e b p ) $ / ) ;
299
+ if ( ! window . URL && ! window . URL . createObjectURL ) return ;
300
+ var file = self [ 0 ] . files [ 0 ] ;
301
+ var is_img = file . type && file . type . match ( / ( \. | \/ ) ( j p e ? g | p n g | g i f | w e b p ) $ / ) ;
266
302
267
303
268
304
var figure = parent . find ( '.figure' ) ;
@@ -273,7 +309,7 @@ jQuery(function ($) {
273
309
' </figure>' ) ;
274
310
figure = parent . find ( '.figure' ) ;
275
311
}
276
- if ( is_img ) {
312
+ if ( is_img ) {
277
313
var img = figure . find ( 'img' ) ;
278
314
var origurl = img . data ( 'origurl' ) ;
279
315
if ( ! origurl ) {
@@ -296,7 +332,7 @@ jQuery(function ($) {
296
332
dialog . confirm ( '取消上传该文件?' , function ( ) {
297
333
self . val ( '' ) ;
298
334
label . text ( label . data ( 'origtext' ) ) ;
299
- if ( is_img ) {
335
+ if ( is_img ) {
300
336
img . attr ( 'src' , origurl ) ;
301
337
figcap . text ( figcap . data ( 'origtext' ) ) ;
302
338
}
@@ -311,20 +347,20 @@ jQuery(function ($) {
311
347
//表单Ajax提交
312
348
$ ( '.btn-primary[type=submit]' ) . click ( function ( e ) {
313
349
var form = $ ( this ) . parents ( 'form' ) ;
314
- if ( form . is ( '.noajax' ) ) return true ;
350
+ if ( form . is ( '.noajax' ) ) return true ;
315
351
var btn = this ;
316
352
317
- var isbtn = $ ( btn ) . prop ( 'tagName' ) . toUpperCase ( ) == 'BUTTON' ;
318
- var origText = isbtn ? $ ( btn ) . text ( ) : $ ( btn ) . val ( ) ;
353
+ var isbtn = $ ( btn ) . prop ( 'tagName' ) . toUpperCase ( ) == 'BUTTON' ;
354
+ var origText = isbtn ? $ ( btn ) . text ( ) : $ ( btn ) . val ( ) ;
319
355
var options = {
320
356
url : $ ( form ) . attr ( 'action' ) ,
321
357
type : 'POST' ,
322
358
dataType : 'JSON' ,
323
359
success : function ( json ) {
324
- window . stop_ajax = false ;
325
- isbtn ? $ ( btn ) . text ( origText ) : $ ( btn ) . val ( origText ) ;
360
+ window . stop_ajax = false ;
361
+ isbtn ? $ ( btn ) . text ( origText ) : $ ( btn ) . val ( origText ) ;
326
362
if ( json . code == 1 ) {
327
- dialog . alert ( json . msg , function ( ) {
363
+ dialog . alert ( json . msg , function ( ) {
328
364
if ( json . url ) {
329
365
location . href = json . url ;
330
366
} else {
@@ -337,27 +373,27 @@ jQuery(function ($) {
337
373
}
338
374
} ,
339
375
error : function ( xhr ) {
340
- window . stop_ajax = false ;
341
- isbtn ? $ ( btn ) . text ( origText ) : $ ( btn ) . val ( origText ) ;
376
+ window . stop_ajax = false ;
377
+ isbtn ? $ ( btn ) . text ( origText ) : $ ( btn ) . val ( origText ) ;
342
378
$ ( btn ) . removeAttr ( 'disabled' ) ;
343
379
dialog . error ( '服务器处理错误' ) ;
344
380
}
345
381
} ;
346
382
if ( form . attr ( 'enctype' ) === 'multipart/form-data' ) {
347
383
if ( ! FormData ) {
348
- window . stop_ajax = false ;
384
+ window . stop_ajax = false ;
349
385
return true ;
350
386
}
351
387
options . data = new FormData ( form [ 0 ] ) ;
352
388
options . cache = false ;
353
389
options . processData = false ;
354
390
options . contentType = false ;
355
- options . xhr = function ( ) { //用以显示上传进度
391
+ options . xhr = function ( ) { //用以显示上传进度
356
392
var xhr = $ . ajaxSettings . xhr ( ) ;
357
393
if ( xhr . upload ) {
358
- xhr . upload . addEventListener ( 'progress' , function ( event ) {
394
+ xhr . upload . addEventListener ( 'progress' , function ( event ) {
359
395
var percent = Math . floor ( event . loaded / event . total * 100 ) ;
360
- $ ( btn ) . text ( origText + ' (' + percent + '%)' ) ;
396
+ $ ( btn ) . text ( origText + ' (' + percent + '%)' ) ;
361
397
} , false ) ;
362
398
}
363
399
return xhr ;
@@ -368,7 +404,7 @@ jQuery(function ($) {
368
404
369
405
e . preventDefault ( ) ;
370
406
$ ( this ) . attr ( 'disabled' , true ) ;
371
- window . stop_ajax = true ;
407
+ window . stop_ajax = true ;
372
408
$ . ajax ( options ) ;
373
409
} ) ;
374
410
@@ -377,18 +413,18 @@ jQuery(function ($) {
377
413
var group = $ ( this ) . parents ( '.input-group' ) ;
378
414
var idele = group . find ( '[name=member_id]' ) ;
379
415
var infoele = group . find ( '[name=member_info]' ) ;
380
- dialog . pickUser ( function ( user ) {
416
+ dialog . pickUser ( function ( user ) {
381
417
idele . val ( user . id ) ;
382
418
infoele . val ( '[' + user . id + '] ' + user . username + ( user . mobile ? ( ' / ' + user . mobile ) : '' ) ) ;
383
419
} , $ ( this ) . data ( 'filter' ) ) ;
384
420
} ) ;
385
421
386
422
//位置选择按钮绑定
387
- $ ( '.pick-locate' ) . click ( function ( e ) {
388
- var group = $ ( this ) . parents ( '.input-group' ) ;
389
- var idele = group . find ( 'input[type=text]' ) ;
390
- dialog . pickLocate ( 'qq' , function ( locate ) {
391
- idele . val ( locate . lng + ',' + locate . lat ) ;
392
- } , idele . val ( ) ) ;
423
+ $ ( '.pick-locate' ) . click ( function ( e ) {
424
+ var group = $ ( this ) . parents ( '.input-group' ) ;
425
+ var idele = group . find ( 'input[type=text]' ) ;
426
+ dialog . pickLocate ( 'qq' , function ( locate ) {
427
+ idele . val ( locate . lng + ',' + locate . lat ) ;
428
+ } , idele . val ( ) ) ;
393
429
} ) ;
394
430
} ) ;
0 commit comments