Fix for chosen results pushing down bottom of popup window

This commit is contained in:
Nathan Gray 2012-11-26 22:55:09 +00:00
parent 147b926490
commit 4dc9f6a472

View File

@ -368,6 +368,28 @@ Copyright (c) 2011 by Harvest
});
}
this.results_build();
// Check to see if there's enough space below
// Thanks, corryworrell https://github.com/harvesthq/chosen/issues/155
this.search_results.css('max-height', 'none');
var windowHeight = $(window).height() + $('html').scrollTop(),
dropdownHeight = this.dropdown.height(),
dropdownTop = Math.ceil(this.dropdown.offset().top),
totalHeight = dropdownHeight + dropdownTop;
if (totalHeight > windowHeight) {
var difference = totalHeight - windowHeight,
height = dropdownHeight - difference;
if (height > 100) {
this.search_results.css('max-height', height);
} else {
this.dropdown.addClass('chzn-above');
this.search_results.css('max-height', this.search_results.data('initialMaxHeight'));
}
} else {
this.search_results.css('max-height', this.search_results.data('initialMaxHeight'));
}
this.set_tab_index();
return this.form_field_jq.trigger("liszt:ready", {
chosen: this
@ -610,28 +632,6 @@ Copyright (c) 2011 by Harvest
"left": 0
});
// Check to see if there's enough space below
// Thanks, corryworrell https://github.com/harvesthq/chosen/issues/155
this.search_results.css('max-height', 'none');
var windowHeight = $(window).height() + $('html').scrollTop(),
dropdownHeight = this.dropdown.height(),
dropdownTop = Math.ceil(this.dropdown.offset().top),
totalHeight = dropdownHeight + dropdownTop;
if (totalHeight > windowHeight) {
var difference = totalHeight - windowHeight,
height = dropdownHeight - difference;
if (height > 100) {
this.search_results.css('max-height', height);
} else {
this.dropdown.addClass('chzn-above');
this.search_results.css('max-height', this.search_results.data('initialMaxHeight'));
}
} else {
this.search_results.css('max-height', this.search_results.data('initialMaxHeight'));
}
this.results_showing = true;
this.search_field.focus();
this.search_field.val(this.search_field.val());