PageSourceSearch

https://icsmetropolitananord.cat/Noticies_integrat-portlet/open/lib/appl/js/formu2.js

js icsmetropolitananord.cat collected 2026-10-08 10:57:57 UTC 3,920 bytes, 208 lines download raw bytes

1
2
3/**
4@class accessors
5*/
6(function($) {
7
8	/**
9	setter(param/s)<br><br>
10	Generic setter accessor for standard DOM browser UI controls
11	@function setter
12	@param  data (individual or array)
13	*/
14	$.fn.setter = function(val) {
15		var self = $(this);
16
17		switch (self[0].type) {
18			case 'text':
19			case 'hidden':
20			case 'password':
21			case 'textarea':
22			case 'select-one':
23			case 'select-multiple':
24				self.val(val);
25				break;
26				
27			case 'checkbox':
28				self.attr('checked', val);
29				break;
30				
31			case 'radio':
32				if (val == undefined)
33					self.attr('checked', false); 
34				else
35					self.attr('checked', val); 
36				
37				break;
38		}
39		
40		switch (self[0].tagName.toLowerCase()) {
41			case 'fieldset':
42				
43				if (val == undefined)
44					self.find('input:checked').attr('checked', false); 
45				else
46					self.find('input[value=' + val + ']').attr('checked', val); 
47				
48				break;
49		
50			case 'div':
51			case 'span':
52				self.html(val); 
53				break;
54		}
55		
56		return self;
57	};
58	
59	/**
60	getter(<br><br>
61	Generic getter accessor for standard DOM browser UI controls
62	@function setter
63	@param  data (individual or array)
64	@return Value of the control (individual or array)
65	*/
66	$.fn.getter = function(val) {
67		var res;
68		var self = $(this);
69
70		switch (self[0].type) {
71			case 'text':
72			case 'hidden':
73			case 'password':
74			case 'textarea':
75			case 'select-one':
76				res = self.val();
77				break;
78
79			case 'select-multiple':
80				var val = self.val();
81				res = val == null ? [] : val;
82				break;
83				
84			case 'checkbox':
85				res = self.is(':checked');
86				break;
87				
88			case 'radio':
89				res = self.val(); 
90				break;
91		}
92		
93		switch (self[0].tagName.toLowerCase()) {
94			case 'fieldset':
95				res = self.find('input:checked').val(); 
96				break;
97		
98			case 'div':
99			case 'span':
100				res = self.html(); 
101				break;
102		}
103		
104		return res;
105	};
106
107	
108	/**
109	getOptions()<br><br>
110	Get the options of Lists or DropDowns
111	@function getOptions
112	@param  data( )
113	@return Value of the control (individual or array)
114	*/
115	$.fn.getOptions = function() {
116		var self = $(this);
117		var options = self.find("option");
118		var n = options.length;
119		var res = [];
120		var jOpt;
121		
122		for (var i = 0; i < n; i++){
123			opt = options.eq(i);
124			jOpt = {};
125			jOpt.value = opt.attr('value');
126			jOpt.text = opt.text();
127			res.push(jOpt);
128		}
129		return res;
130	};
131	
132
133	$.fn.addOptions = function(options) {
134		var self = $(this);
135	
136		var n = options.length;
137		var opt;
138		
139		for (var i = 0; i < n; i++){
140			opt = options[i];
141			self.append('<option value="' + opt.value + '">' + opt.text + '</option>');
142		}
143		
144		return self;
145	};
146	
147	
148	$.fn.emptyOptions = function() {
149		var self = $(this);
150	
151		var options = self.find("option");
152		var n = options.length;
153		
154		for (var i = 0; i < n; i++){
155			opt = options.eq(i);
156			opt.remove();
157		}
158		
159		return self;
160	};
161
162	
163	$.fn.setOptions = function() {
164		var self = $(this);
165		
166		self.formu('emptyOptions', name);
167		self.formu('addOptions', name, options);
168		
169		return self;
170	};
171	
172	
173	/*
174		Basat en http://blueb.net/blog/attach/1/980547.txt
175		Justificaci�:  .serializeArray() de jQuery omiteix els checkbox not checked
176	*/
177	$.fn.form2Obj = function() {
178		var docForm = $(this)[0];
179		var formElem;
180		var o = {};
181		var n = docForm.elements.length;
182		
183		for (i = 0; i < n; i++) {
184			formElem = docForm.elements[i];
185			switch (formElem.type) {
186				case 'text':
187				case 'hidden':
188				case 'password':
189				case 'textarea':
190				case 'select-one':
191					o[formElem.name] = formElem.value;
192					break;
193					
194				case 'radio':
195					if (formElem.checked) {
196						o[formElem.name] = formElem.value;
197					}
198					break;
199					
200				case 'checkbox':
201					o[formElem.name] = formElem.checked;
202					break;
203			}
204		}
205		return o;
206	}
207
208})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.