Hallo allemaal,

Zoals het onderwerp aangeeft, wil ik graag dat de autocomplete de lijst met gegevens verticaal weergeeft i.p.v. horizontaal zoals dat nu gebeurt.

Momenteel gebruik ik jQuery autocomplete op 2 input field op hetzelfde pagina en later worden het 3 input field.
De autocomplete werkt prima, maar de weergave wil ik verticaal hebben.

De volgende versie van autocomplete gebruik ik

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>


In het header pagina heb ik dus staan:

<script>
  $(function() {
    $( "#medicinename" ).autocomplete({
      source: 'includes/search_medicinename.php'
    });
  });
  $(function() {
    $( "#genericname" ).autocomplete({
      source: 'includes/search_genericname.php'
    });
  });
 </script>


Ik heb reeds gezocht op het net en kwam veel zogenaamde oplossingen tegen, maar dit werkt dus niet.
Daarbij wordt aangegeven dat ik d.m.v. CSS het probleem kan oplossen en ik heb de volgende code gebruikt in mijn CSS-code en helaas biedt dat geen soelas:


.ui-autocomplete {
    max-height: 300px;
	overflow-y: auto;   /* prevent horizontal scrollbar */
	overflow-x: hidden; /* add padding to account for vertical scrollbar */
}

Hopelijk kan iemand mij helpen.

[size=xsmall]Toevoeging op 28/08/2017 10:36:43:[/size]

Update 1:
Ik ben verder gaan zoeken voor een oplossing voor dit probleem, want ik wil het heel graag oplossen ;-)
Ik zie dat bij autocomplete een css-link hoort, nl:

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">

Wanneer ik dit link verwijder in mijn header.php pagina en aan mijn eigen CSS-bestand voeg ik dan:

.ui-autocomplete {
    max-height: 300px;
    overflow-y: auto;   /* prevent horizontal scrollbar */
    overflow-x: hidden; /* add padding to account for vertical scrollbar */
} 

Dan gebeurt er nog steeds niet veel. Sterker nog de weergave van autocomplete ziet er nog vreemder uit zonder het bijbehorende css link. En het lijkt erop dat autocomplete mijn eigen CSS bestand negeert, terwijl de volgorde goed staat.
Er staat nu in mijn header.php pagina:

<link href="../includes/main.css" rel="stylesheet" type="text/css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  <script>
  $(function() {
    $( "#medicinename" ).autocomplete({
      source: 'includes/search_medicinename.php'
    });
  });
  $(function() {
    $( "#genericname" ).autocomplete({
      source: 'includes/search_genericname.php'
    });
  });
 </script>

Er wordt eerst mijn CSS-bestand geladen en daarna komen de autocomplete bestanden. En ik heb gezien in hun eigen CSS bestand een CSS-class voor .ui-autocomplete met de volgende eigenschappen:

.ui-autocomplete {
	position: absolute;
	top: 0;
	left: 0;
	cursor: default;
}

Mijn vraag is dus hoe kan ik ervoor zorgen dat autocomplete de weergave van gegevens verticaal laat zien ipv horizontaal...
Dan lijkt het mij dat je CSS van je jQueryUI wordt overruled. Misschien zelfs door stijlblokken in je html-document. Met 'element inspecteren' onder de rechtermuisknop kan je heel snel zien hoe de overerving geregeld is.
Jah het is zeker dat mijn eigen CSS de CSS van jQueryUI overschrijft :(
In HTML heb ik eigenlijk geen stijlblokken, want alles gaat via een externe CSS bestand. Ik werk enkel met IDs of Class'.
Momenteel heb ik in HTML de volgende code voor betreffende input field:

<td><input type="text" name="medicinename" id="medicinename" value="<?php if (isset($trimmed['medicinename'])) echo $trimmed['medicinename']; ?>" />

Maar wanneer ik het bekijk via de element inspecteer dan zie ik de volgende dingen:
<input name="medicinename" id="medicinename" value="" class="ui-autocomplete-input" autocomplete="off" type="text">

En wat moet ik nu verder doen?
De class ui-autocomplete-input heb ik niet aangemaakt...
Die wordt er door de jQueryUI aan toegevoegd.
Oke en waar moet ik precies kijken in inspecter om te gaan troubleshooten?
Of wil je misschien even meekijken via de inspecter en aangeven welke eigenschap de boosdoener is?
../includes/jquery-ui.theme.css.css = 404

Blijkbaar mist je theme dus, waardoor je autocomplete er vreemd uitziet.
Bedoel je /jquery-ui.theme.css.css op de FTP-server of in mijn header.php pagina?
De huidige header.php heb ik aangepast naar:

<head>
<meta charset="utf-8">
<title><?php echo $page_title; ?></title>
<link rel="stylesheet" href="../includes/jquery-ui.min.css">
<link rel="stylesheet" href="../includes/jquery-ui.theme.min.css">
<style>
  .ui-autocomplete {
			max-height: 300px;
			overflow-y: auto;  /* prevent horizontal scrollbar */
			overflow-x: hidden;
  }
</style>
<script src="../includes/jquery-3.2.1.min.js"></script>
<script src="../includes/jquery-ui.min.js"></script>
  <script>
  $(function() {
    $( "#medicinename" ).autocomplete({
      source: 'includes/search_medicinename.php'
    });
  });
  $(function() {
    $( "#genericname" ).autocomplete({
      source: 'includes/search_genericname.php'
    });
  });
 </script>
 <link href="../includes/main.css" rel="stylesheet" type="text/css">
</head>

Ik heb dus alle min bestanden genomen, weet niet of dit wat uitmaakt of niet...
En op de FTP-server heb ik dus staan: http://www.hawarco.co/img/print_screen.png

[size=xsmall]Toevoeging op 29/08/2017 22:53:36:[/size]

Maar het werkt nog steeds niet helaas....:(

[size=xsmall]Toevoeging op 29/08/2017 22:54:58:[/size]

En via inspect element word ik niet echt wijzer om je eerlijk te bekennen..Daarin heb ik alles uitgeschakeld en de resultaten van autocomplete werden nog steeds niet als scrolable weergegeven...
Anders is het een kwestie van het probleem isoleren. Dus maak eens een statische testcase en ga daar in rommelen. Als ik vreemde HTML/CSS/JS bugs tegenkom doe ik dat ook. Haal eerst een al je toegevoegde stijlen van je site zelf eens weg. En kijk eens wanneer het probleem optreedt.
Goede morgen - Ariën -,

Gisterenavond werd het een beetje laat voor me om hieraan te werken en ben deze morgen direct mee verder gegaan en wel met vol moed ;).
Ik heb ontdekt wanneer ik de code voor het menu uitschakelt, dan wordt het resultaat van autocomplete wel als scrolable weergegeven.

En de code voor mijn menu ziet als volgt uit:
En zoals je ziet wordt een UL en kids ervan direct aangesproken.
Denk je dat ik het huidige probleem kan oplossen door te werken met CLASS of IDs?
Mijns inziens is het output van autcomplete een UL is en daarom niet als scrolable wordt weergegeven, maar wat ik niet begrijp is dat de volgorde van de CSS-bestanden goed staat en blijkbaar heeft dit geen effect op..

ul { 
	list-style: none; 
	}
    ul li { 
    float: left; 
	padding-right: 1px; 
	position: relative; 
	}
    ul a { 
	display: table-cell; 
	vertical-align: middle; 
	width: 150px; 
	height: 50px; 
	text-align: center; 
	background: #69C; 
	color: #fff; 
	text-decoration: none; 
	}
	
    ul a:hover { 
	background: #09C;
	font-weight: bold;
	text-decoration: underline;
	width:150px;
	}
    li > ul { 
	display: none; 
	position: absolute; 
	left: 0; 
	top: 100%;
    
	}
    li:hover > ul { 
	display: block; 
    opacity: 0.8;
	}
    li > ul li { 
	padding: 0; 
	padding-top: 1px; 
	}
    li > ul li > ul { 
	left: 100%; 
	top: 0px; 
	padding-left: 1px; 
	}
    li > ul li > ul li { 
	width: 100px; 
	}
    li:hover > a { 
	background: #09C; }
    /*
      1. Get & set the width of your nav (inc. 1px padding-left)
      2. Set the margin to auto (automatically centering the div to the parent, in this case, <body>)
      3. Set overflow to visible (not needed, just a precaution to stop scrolling)
    */
    #nav { width: 50%; overflow: visible; }


[size=xsmall]Toevoeging op 30/08/2017 08:52:00:[/size]

Update:
De oorzaak heb ik gevonden in onderstaande code.
Wanneer ik d.m.v. inspect element float: left uitschakel voor UL LI, dan wordt het resultaat van autocomplete wel als scrolable weergegeven ;-)

ul li {
    float: left; 

En hoe kan ik oplossen dat het menu op mijn website werkt en dat de resultaten van autocomplete als scrolable worden weergegeven?

[size=xsmall]Toevoeging op 30/08/2017 09:50:58:[/size]

Update 2:
Ik heb het probleem opgelost! ;-)
Ik heb wat class toegekend aan het menu en vervolgens in mijn CSS-bestand betreffende tag vervangen door class-naam en het werkt gelukkig.

Heel erg bedankt voor het meedenken!

Reageren