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
Showing
1 changed file
with
18 additions
and
8 deletions
| ... | @@ -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 | } | ... | ... |
-
Please register or sign in to post a comment