Maison > interface Web > js tutoriel > JQUERY AJAX HTML5 DATALIST EXEMPLE

JQUERY AJAX HTML5 DATALIST EXEMPLE

Jennifer Aniston
Libérer: 2025-02-23 10:52:13
original
418 Les gens l'ont consulté

JQUERY AJAX HTML5 DATALIST EXEMPLE

Ce code utilise la balise de données HTML5 pour configurer des options de saisie semi-automatique pour un champ de texte . Il saisit les données d'un fichier JSON avec une demande AJAC (données qui peuvent être stockées dans le navigateur de manière persistante si besoin est ou localement sur un objet JS). Il utilise ensuite la sélection d'une banlieue pour automatiquement le code postal et indiquez le code postal et l'état lorsque la banlieue change. Fonctionne comme une gâterie dans à peu près tous les navigateurs sauf Safari. Remarques: HTML Datalist n'est toujours pas compatiable avec tous les navigateurs. Voir la compatibilité. Pour le plugin de remblayage, utilisez celui-ci: jQuery.RevevantDropdowns.js - il insère une balise UL avec Li pour les options dans le remplacement des options de données. JQUERY AJAX HTML5 DATALIST EXEMPLE

HTML5 Datalist Tag

Copier après la connexion

jQuery complet

Ce code remplit le datalist via JSON et Auto remplit d'autres champs en fonction de la sélection complète automatique du champ par l'utilisateur.
<span>window.DATALIST = {
</span>
    <span>cache: {},
</span>
    <span>init: function()
</span>    <span>{
</span>        <span>var _this = this,
</span>            <span>this.cache.$form = $('formid');
</span>            <span>this.cache.$suburbs = this.cache.$form.find('datalist#suburbs');
</span>            <span>this.cache.$suburbInput = this.cache.$form.find('input[name="suburb"]');
</span>            <span>this.cache.$postcodeInput = this.cache.$form.find('input[name="postcode"]');
</span>            <span>this.cache.$stateInput = this.cache.$form.find('input[name="state"]');
</span>
        <span>//grab the datalist options from JSON data
</span>        <span>var checkMembershipRequest = $.ajax({
</span>            <span>type: "GET",
</span>            <span>dataType: "JSON",
</span>            <span>url: "/php/suburbs.php"
</span>        <span>});
</span>
        checkMembershipRequest<span>.done(function(data)
</span>        <span>{
</span>            <span>console.log(data);
</span>
            <span>//data could be cached in the browser if required for speed.
</span>            <span>// localStorage.postcodeData = JSON.stringify(data);
</span>
            <span>//add options to datalist
</span>            $<span>.each(data.suburbs, function(i<span>,v</span>)
</span>            <span>{
</span>                _this<span>.cache.$suburbs.append(''+i+'');
</span>            <span>});
</span>
            <span>//hook up data handler when suburb is changed to autocomplete postcode and state
</span>            _this<span>.cache.$suburbInput.on('change', function()
</span>            <span>{
</span>                <span>// console.log('suburb changed');
</span>                <span>var val = $(this).val(),
</span>                    selected <span>= _this.cache.$suburbs.find('option[data-value="'+val+'"]'),
</span>                    postcode <span>= selected.data('postcode'),
</span>                    state <span>= selected.data('state');
</span>                _this<span>.cache.$postcodeInput.val(postcode);
</span>                _this<span>.cache.$stateInput.val(state);
</span>            <span>});
</span>
        <span>});
</span>
        checkMembershipRequest<span>.fail(function(jqXHR<span>, textStatus</span>)
</span>        <span>{
</span>            <span>console.log( "postcode request fail - an error occurred: (" + textStatus + ")." );
</span>            <span>//try again...
</span>        <span>});
</span>
    <span>}
</span>
<span>}</span>
Copier après la connexion

html complet

C'est à quoi pourrait ressembler votre HTML:

*Suburb:





*Postcode:

State:


Copier après la connexion

JSON complet

Le fichier PHP renvoie JSON - pourrait être .json ou .php et saisir les données d'une base de données si nécessaire.
<span>{
</span>    <span>"suburbs": {
</span>        <span>"suburb1": {
</span>            <span>"postcode": "2016",
</span>            <span>"state": "NSW"
</span>        <span>},
</span>        <span>"suburb2": {
</span>            <span>"postcode": "4016",
</span>            <span>"state": "QLD"
</span>        <span>},
</span>        <span>"suburb3": {
</span>            <span>"postcode": "3016",
</span>            <span>"state": "CA"
</span>        <span>},
</span>        <span>"suburb4": {
</span>            <span>"postcode": "8016",
</span>            <span>"state": "WA"
</span>        <span>},
</span>        <span>"suburb5": {
</span>            <span>"postcode": "6016",
</span>            <span>"state": "SA"
</span>        <span>}
</span>    <span>}
</span><span>}</span>
Copier après la connexion

HTML5 Datalist de déclenchement

Utilisez ALT Down Arrow pour simuler l'action utilisateur. Vous devrez utiliser jQuery pour simuler une pression de touche de déclenchement multiple. Keycode alt = 18 (également la clé du modificateur appelé Altkey) Keycode Down flèche = 40
<span>var e = jQuery.<span>Event</span>("keydown");
</span>e<span>.which = 40;
</span>e<span>.altKey = true;
</span><span>$("input").trigger(e);</span>
Copier après la connexion

Questions fréquemment posées (FAQ) sur JQuery Ajax et HTML5 DatoList Assomple

Comment puis-je charger dynamiquement les options de données avec Ajax dans Firefox?

Pour charger dynamiquement les options de données avec Ajax dans Firefox, vous devez utiliser la méthode jQuery Ajax. Tout d'abord, vous devez créer une demande AJAX à votre script côté serveur. Ce script doit renvoyer les données que vous souhaitez remplir dans le datalist. Une fois la demande AJAX réussie, vous pouvez utiliser les données de réponse pour remplir le datalist. Voici un exemple simple:

$. AJAX ({
URL: 'Votre serveur-script',
Success: Function (data) {
var datalist = $ (' # your-datalist-id ');
datalist.empty ();
$ .each (data, fonction (index, valeur) {
datalist.append ('

Comment puis-je utiliser JQuery AutoCle't avec rappel ajax json?

jQuery UI fournit un widget de saisie semi-automatique que vous pouvez utiliser avec Ajax et JSON. Vous devez initialiser le widget d'observance automatique sur votre champ de saisie et fournir une option source. L'option source doit être une fonction qui fait une demande AJAX et utilise les données de réponse pour remplir les suggestions de saisie semi-automatique. Voici un exemple:

$ ('# # your-int-id'). AutoChyPle't ({
source: function (request, réponse) {
$ .ajax ({
url: 'votre serveur-script-script',
dataType: 'json',
data: {
Term: request.term
},
Succès: fonction (data) {
réponse (données);
}
});
}
});
Dans ce code, remplacez «votre entrée-id» avec l'ID de votre champ de saisie et «votre serveur-script» avec l'URL de votre script côté serveur.

Comment puis-je utiliser JQuery Ajax et Html5 Datalist pour Fonctionnalité d'observance automatique?

Vous pouvez utiliser le datalist jQuery Ajax et HTML5 pour créer une fonctionnalité de saisie automatique. Tout d'abord, vous devez créer un champ de saisie et un datalist dans votre HTML. Ensuite, vous devez utiliser jQuery Ajax pour récupérer les données que vous souhaitez utiliser pour les suggestions de saisie semi-automatique. Une fois la demande AJAX réussie, vous pouvez utiliser les données de réponse pour remplir le datalist. Voici un exemple:




$. Ajax ({
url: 'votre -Server-Side-Script ',
Succès: fonction (données) {
var datalist = $ (' # your-datalist-id ');
datalist.empty ();
$ .each (data, fonction (index, valeur) {
datalist.append ('

Comment puis-je gérer les erreurs dans les demandes de jQuery Ajax?

jQuery Ajax fournit plusieurs méthodes pour gérer les erreurs. La méthode la plus courante est l'option de rappel «Erreur». Cette option est une fonction qui est appelée lorsque la demande AJAX échoue. La fonction reçoit trois arguments: l'objet JQXHR, une chaîne décrivant le type d'erreur et un objet d'exception facultatif si l'on s'est produit. Voici un exemple:

$. Ajax ({
URL: 'votre serveur-script',
Succès: fonction (données) {
// gérer la réponse réussie
},
Erreur: fonction (jqxhr, textstatus, errorthrown) {
console.error ('la demande ajax a échoué:' TextStatus);
}
});
Dans ce code, remplacez «votre serveur-script» par l'URL de votre script côté serveur.

Comment puis-je utiliser jQuery Ajax pour envoyer des données au serveur?

Vous pouvez utiliser l'option «Data» dans la méthode jQuery Ajax pour envoyer des données au serveur. L’option «Données» doit être un objet dans lequel les noms de propriété sont les clés de données et les valeurs de la propriété sont les valeurs de données. Les données sont envoyées au serveur dans le corps de la demande HTTP. Voici un exemple:

$. AJAX ({
URL: 'votre serveur-script',
Méthode: 'Post',
data: {
key1: 'value1',
key2: 'value2'
},
Succès: fonction (réponse) {
// gérer la réponse réussie
} Nous et «valeur2» avec vos valeurs de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal