2010-07-12 4 views
0

J'ai des dates et une description. Si la date est entrée, la description doit être complétée automatiquement. Comme si 12/25/yyyy est sélectionné, alors Noël devrait être automatiquement affiché?JavaScript Autocomplete

J'ai essayé, mais sa ne fonctionne pas. De l'aide?

<html> 
<head> 
<script type="text/javascript"> 
$(function() { 
$('#date').datepicker(); 
}); 
$(function() { 
var availableTags = ["Christmas Day","etc"]; 
$("#tags").autocomplete({ 
source: availableTags 
}); 
}); 

$('#date').change(function() { 
if ($(this).val().substring(0, 5) === '12/25') { 
$('#tags).val('Christmas'); 
} else { 
$('#tags').val(''); 
} 
}); 
</script> 
<body> 
<DIV class="ui-widget">Date: <INPUT TYPE="TEXT" name="xx" 
property="xx" id="date" /> 
</P> 
<input type="text" id="tags'" name="tags'" /> 
</DIV> 
</body> 
</html> 
+0

Pour un bloc de code plus long, sélectionnez tout le code et cliquez sur le bouton de la barre d'outils avec "101010" dessus. Les rétroprojections sont pour des extraits courts comme 'var x = y;' – jasongetsdown

Répondre

0

Utilisez l'événement onchange. Utilisation de jQuery ...

$('#dateInputId').change(function() { 
    if ($(this).val().substring(0, 5) === '12/25') { 
     $('#secondInputId').val('Christmas'); 
    } else { 
     $('#secondInputId').val(''); 
    } 
}); 
+0

Modifiez votre publication initiale et ajoutez le code ici. FYI lorsque vous tapez du code dans les commentaires, utilisez la citation arrière (à gauche de votre clé 1) avant et après votre extrait au lieu de [code] [/ code]. Pour les morceaux de code plus longs dans une question de réponse (ne fonctionne pas dans les commentaires) mettez en surbrillance le code et cliquez sur le bouton de la barre d'outils qui dit 1010101. Cela préservera l'indentation comme mon code ci-dessus. – jasongetsdown

+0

J'ai essayé la citation arrière (') pour afficher l'extrait de code. Cela montre-t-il? –

+0

Avec quelques ajustements cela fonctionne: http://jsbin.com/usovi3/edit. Vous avez une faute de frappe ou deux, et je ne sais pas pourquoi vous faites '$ (function() {...})'. Cela passe une fonction à jQuery, qui ne fonctionne pas. Je suppose que ce que vous vouliez faire est d'utiliser un bloc de fonction anonyme pour créer une portée privée comme '(function() {...})();' ou exécuter quand le DOM est prêt avec '$ (document) .ready (function() {...}); '. – jasongetsdown

0

Faire que vous aurez besoin d'une énorme base de données dans le back-end avec tous les jours de tous les jours spéciaux. Mais cela peut ne pas fonctionner car il y a beaucoup de jours spéciaux un jour ou même un jour spécial peut se produire sur deux jours.

Si vous avez seulement un jour par jour, j'envoyais la date (ou la description du jour) au back-end et revenir ensuite les suggestions. Je voudrais même activer l'auto-complétion pour la description si vous n'avez pas de date définie.

Dans la réponse à la description que je montrerais à la fois, le texte et la date dans bracets puis ajoutez la date à la première entrée, dès que l'utilisateur sélectionne une option.