746e8fd0 by Marty Penner

Admin user now able to set no location for country and province/state on event e…

…dit page; select lists now populate properly. refs #1222
1 parent deeada06
...@@ -190,7 +190,7 @@ if ( ! function_exists('form_dropdown')) ...@@ -190,7 +190,7 @@ if ( ! function_exists('form_dropdown'))
190 } 190 }
191 } 191 }
192 192
193 function form_linked_dropdown($name = '', $parent = '', $options = array(), $parent_selected = '', $selected = '', $extra = '') 193 function form_linked_dropdown($name = '', $parent = '', $options = array(), $parent_selected = '', $selected = '', $extra = '', $provide_js = true)
194 { 194 {
195 if ($extra != '') $extra = ' '.$extra; 195 if ($extra != '') $extra = ' '.$extra;
196 196
...@@ -206,6 +206,7 @@ function form_linked_dropdown($name = '', $parent = '', $options = array(), $par ...@@ -206,6 +206,7 @@ function form_linked_dropdown($name = '', $parent = '', $options = array(), $par
206 } 206 }
207 } 207 }
208 208
209 if ($provide_js) {
209 $form .= '</select> 210 $form .= '</select>
210 <script> 211 <script>
211 function update_' . $name . '(value) { 212 function update_' . $name . '(value) {
...@@ -214,8 +215,8 @@ function form_linked_dropdown($name = '', $parent = '', $options = array(), $par ...@@ -214,8 +215,8 @@ function form_linked_dropdown($name = '', $parent = '', $options = array(), $par
214 return; 215 return;
215 } 216 }
216 217
217 jQuery("#'.$name.'_custom").attr("disabled","disabled").hide(); 218 jQuery("#' . $name . '_custom").attr("disabled","disabled").hide();
218 jQuery("#'.$name.'").show(); 219 jQuery("#' . $name . '").show();
219 220
220 221
221 var options = new Array(); 222 var options = new Array();
...@@ -230,15 +231,15 @@ function form_linked_dropdown($name = '', $parent = '', $options = array(), $par ...@@ -230,15 +231,15 @@ function form_linked_dropdown($name = '', $parent = '', $options = array(), $par
230 foreach ($v as $value => $content) { 231 foreach ($v as $value => $content) {
231 $form .= '"' . $value . '","' . $content . '",'; 232 $form .= '"' . $value . '","' . $content . '",';
232 } 233 }
233 $form = substr($form,0,-1); 234 $form = substr($form, 0, -1);
234 $form .= '); 235 $form .= ');
235 break;'; 236 break;';
236 } 237 }
237 $form .= 'default: 238 $form .= 'default:
238 select.disabled = true; 239 select.disabled = true;
239 240
240 jQuery("#'.$name.'").after("<input type=\'text\' name=\''.$name.'\' id=\''.$name.'_custom\' class=\'input-field-css input-large\' value=\''.$selected.'\' />").removeAttr("disabled").show(); 241 jQuery("#' . $name . '").after("<input type=\'text\' name=\'' . $name . '\' id=\'' . $name . '_custom\' class=\'input-field-css input-large\' value=\'' . $selected . '\' />").removeAttr("disabled").show();
241 jQuery("#'.$name.'").hide(); 242 jQuery("#' . $name . '").hide();
242 //options = new Array("other","Other"); 243 //options = new Array("other","Other");
243 return; 244 return;
244 } 245 }
...@@ -254,17 +255,26 @@ function form_linked_dropdown($name = '', $parent = '', $options = array(), $par ...@@ -254,17 +255,26 @@ function form_linked_dropdown($name = '', $parent = '', $options = array(), $par
254 var val = options[i++]; 255 var val = options[i++];
255 option.value = val; 256 option.value = val;
256 option.innerHTML = options[i++]; 257 option.innerHTML = options[i++];
257 if (val == "'.$selected.'") { 258 if (val == "' . $selected . '") {
258 option.selected = true; 259 option.selected = true;
259 } 260 }
260 select.appendChild(option); 261 select.appendChild(option);
261 } 262 }
262 263
263 } 264 }
264 update_'.$name.'(document.getElementById("'.$parent.'").value); 265 update_' . $name . '(document.getElementById("' . $parent . '").value);
265 document.getElementById("' . $parent . '").onchange = function() { update_' . $name . '(this.value); } 266 document.getElementById("' . $parent . '").onchange = function() { update_' . $name . '(this.value); }
266 </script> 267 </script>
267 '; 268 ';
269 } else {
270 $form = '';
271 if (array_key_exists($parent_selected, $options)) {
272 foreach ($options[$parent_selected] as $name => $option) {
273 $sel = ($selected == $name) ? ' selected="selected"' : '';
274 $form .= '<option value="' . $name . '"' . $sel . '>' . $option . "</option>\n";
275 }
276 }
277 }
268 278
269 return $form; 279 return $form;
270 } 280 }
......