jquery ui dialog en een click -> display

Status
Niet open voor verdere reacties.

blackeagle67

Gebruiker
Lid geworden
13 okt 2009
Berichten
158
Hallo mensen,

Ik heb even een vraagje over jquery ui's dialog box.

Momenteel weergeef ik een dialog venster in een applicatie en heb hier enkele knopjes in gemaakt waarmee ik iets weergeef als men erop klikt.

Omdat af en toe heel wat regels uitklappen moet ik tijdens de klik ook de dialog resizen.
Nu gaat dit goed in Firefox, Chrome en IE9 (browsermodus en documentmodus).

Maar je raad het al, IE8 de enige andere browser variant waarin mijn applicatie goed moet werken, doet het niet goed.

Onderstaand gebruik ik om correct de dialog te resizen als er geklikt word op het knopje.

Code:
if ($('.expand').length > 0) {
					$('.expand').each(function() {
						$(this).click(function() {
							var tbody = $(this).parent().parent().parent().parent().next();
							if (tbody.css('display') == 'none') {
								tbody.css('display', 'table-row-group');
								$(this).removeClass('ui-icon-circlesmall-plus').addClass('ui-icon-circlesmall-minus');
							} else {
								tbody.css('display', 'none');
								$(this).removeClass('ui-icon-circlesmall-minus').addClass('ui-icon-circlesmall-plus');
							}

							var d = $("#manage_materials").dialog();
							d.dialog("option", "width", 756);
							d.dialog("option", "resizable", false);
							d.dialog("option", "position", ['center']);
							d.dialog("option", "modal", true);
						});
					});
				}
(Jaja ik weet het tabellen layout BLEH!! Maar gek worden van het prutsen met div's in een bestaande applicatie is pas echt irri.)

Onderstaand probeer ik werkend te krijgen in de applicatie speciaal voor IE. Maar tot nog toe werpt het geen vruchten af.
Kunnen jullie mij helpen?

Code:
if ($('.alert').length > 0) {
								var dialog = $('.alert');
								var offset = dialog.offset();
								var bottom = offset.top + dialog.height();
								if (bottom > $(window).height()) {
									$('#manage_materials').height($(window).height() - 120 + 'px');
									console.log($(window).height() - 120 + 'px');
								}
							}
 
Verdomme hoe vaak ik dat wel niet heb dat ik de oplossing 5 min later heb.
Nou hier is ie dan.

Moest dat resize stukkie iets lager plaatsen. Nu gaat ie goed in IE.
Hopelijk komt t iemand van pas.

Code:
if ($('.expand').length > 0) {
					$('.expand').each(function() {
						$(this).click(function() {
							var tbody = $(this).parent().parent().parent().parent().next();
							if (tbody.css('display') == 'none') {
								tbody.css('display', 'table-row-group');
								$(this).removeClass('ui-icon-circlesmall-plus').addClass('ui-icon-circlesmall-minus');
							} else {
								tbody.css('display', 'none');
								$(this).removeClass('ui-icon-circlesmall-minus').addClass('ui-icon-circlesmall-plus');
							}

							var d = $("#manage_materials").dialog();
							d.dialog("option", "width", 756);
							d.dialog("option", "resizable", false);
							d.dialog("option", "position", ['center']);
							d.dialog("option", "modal", true);

							if ($('.alert').length > 0) {
								var dialog = $('.alert');
								var offset = dialog.offset();
								var bottom = offset.top + dialog.height();
								if (bottom > $(window).height()) {
									$('#manage_materials').css('height', $(window).height() - 120 + 'px');
									console.log($(window).height() - 120 + 'px');
								}
							}
						});
					});
				}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan