Input text html che deve accettare solo valori da autocomplete jQuery
- Questo topic ha 1 risposta, 1 partecipante ed è stato aggiornato l'ultima volta 7 anni fa da gian0000.
- AutorePost
- 1 Aprile 2017 alle 21:20 #7118gian0000Partecipante
Ciao a tutti,
ho un form con due campi input text aventi stessa classe associati allo stesso autocomplete in jQuery tramite la classe.
Fin qui tutto ok, anche se non riesco a far visualizzare la lista con solo le parole che iniziano per quella lettera digitata ma vengono fuori tutte le parole che la contengono es. digito “c” e visualizzo “occhio, cane, macchina” e mi piacerebbe visualizzare solo “cane, casa”.
Come da titolo avrei bisogno di sapere come far si che in quei due input text si possano digitare solo caratteri corrispondenti ai valori dell’autocomplete e non come ora che si può inserire qualunque carattere che appunto non è contenuto nell’autocomplete.Posto il file che includo nel mio form dove ho l’autocomplete.
<pre class=”lang:js decode:true ” title=”file autocomplete”><!doctype html>
<html lang=”en”>
<head>
<meta charset=”utf-8″>
<meta name=”viewport” content=”width=device-width, initial-scale=1″>
<!– <title>jQuery UI Autocomplete – Scrollable results</title> –>
<link rel=”stylesheet” href=”//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css”>
<link rel=”stylesheet” href=”/resources/demos/style.css”>
<style>
.ui-autocomplete {
max-height: 100px;
overflow-y: auto;
/* prevent horizontal scrollbar */
overflow-x: hidden;
}
/* IE 6 doesn’t support max-height
* we use height instead, but this forces the menu to always be this tall
*/
* html .ui-autocomplete {
height: 100px;
}
</style>
<script src=”https://code.jquery.com/jquery-1.12.4.js”></script>
<script src=”https://code.jquery.com/ui/1.12.1/jquery-ui.js”></script>
<script>
$( function() {
var availableTags = [
“casa”, “cane”, “moto”, “scooter”, “barca”, “aereo”];
$( “.autom” ).autocomplete({
source: availableTags
});
} );</script>
</head>
<body><!– <div class=”ui-widget”>
<label for=”tags”>Tags: </label>
<input id=”tags”>
</div>–>
</body>
</html>
Ho guardato la guardato la documentazione di jQuery ma non sono riuscito a venirne a capo.
Ringrazio tutti in anticipo2 Aprile 2017 alle 15:56 #7119gian0000PartecipantePer quanto riguarda la visualizzazione del carattere iniziale ho risolto cosi:
<pre class=”lang:js decode:true “><!doctype html>
<html lang=”en”>
<head>
<meta charset=”utf-8″>
<meta name=”viewport”content=”width=device-width, initial-scale=1″>
<script src=”https://code.jquery.com/jquery-1.12.4.js”></script>
<script src=”https://code.jquery.com/ui/1.12.1/jquery-ui.js”></script>
<link rel=”stylesheet”href=”//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css”>
<link rel=”stylesheet”href=”/resources/demos/style.css”>
<style>
.ui-autocomplete {
max-height: 100px;
overflow-y: auto;
/* prevent horizontal scrollbar */
overflow-x: hidden;
}
/* IE 6 doesn’t support max-height
* we use height instead, but this forces the menu to always be this tall
*/
* html .ui-autocomplete {
height: 100px;
}
</style><script>
$( function() {
var availableTags = [
“casa”, “cane”, “moto”, “scooter”, “auto”, “trattore”,”aereo” ];
$( “.autom” ).autocomplete({
source: function( request, response ) {
var matcher = new RegExp( “^” + $.ui.autocomplete.escapeRegex( request.term ), “i” );
response( $.grep( availableTags, function( item ){
return matcher.test( item );
}) );
}
});
} );</script>
</head>
<body></body>
</html>…Mi resta capire come limitare l’inserimento nel input text… grazie
- AutorePost
- Devi essere connesso per rispondere a questo topic.