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.