diff options
author | Andreas Fischer <bantu@phpbb.com> | 2012-08-02 12:10:26 +0200 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2012-08-02 12:10:26 +0200 |
commit | fa06b779ad7c80d76274ee080db494e9d767ae26 (patch) | |
tree | 4cb769feb9b65a61f3ad0275968ee5affddffb20 /phpBB/assets/javascript/core.js | |
parent | fbd75775efbf1f9d98b29835d1ef97b8cf4d55d4 (diff) | |
parent | fd40e841cb89bf9591fea06b1d396d444102243c (diff) | |
download | forums-fa06b779ad7c80d76274ee080db494e9d767ae26.tar forums-fa06b779ad7c80d76274ee080db494e9d767ae26.tar.gz forums-fa06b779ad7c80d76274ee080db494e9d767ae26.tar.bz2 forums-fa06b779ad7c80d76274ee080db494e9d767ae26.tar.xz forums-fa06b779ad7c80d76274ee080db494e9d767ae26.zip |
Merge remote-tracking branch 'nickvergessen/ticket/11004' into develop
* nickvergessen/ticket/11004:
[ticket/11004] Always update suggestion button in timezone_preselect_select
[ticket/11003] Ability to show full list of timezones with JavaScript enabled
[ticket/11004] Make suggestion button a real button and fix it's value
Diffstat (limited to 'phpBB/assets/javascript/core.js')
-rw-r--r-- | phpBB/assets/javascript/core.js | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/phpBB/assets/javascript/core.js b/phpBB/assets/javascript/core.js index c40852388e..17e859eedc 100644 --- a/phpBB/assets/javascript/core.js +++ b/phpBB/assets/javascript/core.js @@ -417,8 +417,19 @@ phpbb.ajaxify = function(options) { * @param bool keep_selection Shall we keep the value selected, or shall the user be forced to repick one. */ phpbb.timezone_switch_date = function(keep_selection) { - $('#timezone > optgroup').css('display', 'none'); - $("#timezone > optgroup[label='" + $('#tz_date').val() + "']").css('display', 'block'); + if ($('#timezone_copy').length == 0) { + // We make a backup of the original dropdown, so we can remove optgroups + // instead of setting display to none, because IE and chrome will not + // hide options inside of optgroups and selects via css + $('#timezone').clone().attr('id', 'timezone_copy').css('display', 'none').attr('name', 'tz_copy').insertAfter('#timezone'); + } else { + // Copy the content of our backup, so we can remove all unneeded options + $('#timezone').replaceWith($('#timezone_copy').clone().attr('id', 'timezone').css('display', 'block').attr('name', 'tz')); + } + + if ($('#tz_date').val() != '') { + $('#timezone > optgroup').remove(":not([label='" + $('#tz_date').val() + "'])"); + } if ($('#tz_date').val() == $('#tz_select_date_suggest').attr('data-suggested-tz')) { $('#tz_select_date_suggest').css('display', 'none'); @@ -488,18 +499,20 @@ phpbb.timezone_preselect_select = function(force_selector) { if ($('#tz_date').val() != option.value && !force_selector) { // We do not select the option for the user, but notify him, // that we would suggest a different setting. - $('#tz_select_date_suggest').css('display', 'inline'); - $('#tz_select_date_suggest').attr('title', $('#tz_select_date_suggest').attr('data-l-suggestion').replace("%s", option.innerHTML)); - $('#tz_select_date_suggest').attr('value', $('#tz_select_date_suggest').attr('data-l-suggestion').replace("%s", option.innerHTML.substring(0, 9))); - $('#tz_select_date_suggest').attr('data-suggested-tz', option.innerHTML); phpbb.timezone_switch_date(true); + $('#tz_select_date_suggest').css('display', 'inline'); } else { option.selected = true; phpbb.timezone_switch_date(!force_selector); - $('#tz_select_date_suggest').attr('data-suggested-tz', option.innerHTML); $('#tz_select_date_suggest').css('display', 'none'); } - break; + + $('#tz_select_date_suggest').attr('title', $('#tz_select_date_suggest').attr('data-l-suggestion').replace("%s", option.innerHTML)); + $('#tz_select_date_suggest').attr('value', $('#tz_select_date_suggest').attr('data-l-suggestion').replace("%s", option.innerHTML.substring(0, 9))); + $('#tz_select_date_suggest').attr('data-suggested-tz', option.innerHTML); + + // Found the suggestion, there cannot be more, so return from here. + return; } } } |