2011-05-10 6 views
0

J'ai examiné partout pour résoudre ce problème et toutes les suggestions que j'ai reçues n'ont pas fonctionné. C'est ce que j'importe:Jquery Datepicker ne fonctionne pas dans ASP.NET

<link href="css/jquery-ui-1.8.12.custom.css" rel="stylesheet" type="text/css" /> 
<script src="js/jquery-1.5.1.js" type="text/javascript"></script> 
<script src="js/jquery.ui.widget.min.js" type="text/javascript"></script> 
<script src="js/jquery-ui-1.8.12.custom.min.js" type="text/javascript"></script> 
<script src="js/jquery.ui.datepicker.min.js" type="text/javascript"></script> 

Ceci est la Jquery et zone de texte

<script type="text/javascript"> 
    $(function() { 
     $('#EarliestArrivalTB').datepicker(); 
    }); 
</script> 
<asp:TextBox ID="EarliestArrivalTB" runat="server"></asp:TextBox> 

Je l'ai travailler sur mon localhost mais quand je l'ai déplacé vers le serveur Web, il n'a pas travail. Qu'est-ce que je fais mal ici?

+0

Je l'ai fait jusqu'à présent Cela n'a pas fonctionné non plus. Je vous remercie tous pour votre aide. Mais j'ai déjà essayé ça. – Eric

+0

sont vos fichiers de script téléchargés correctement? –

+0

Je le crois. Je les ai téléchargés directement depuis le site Jquery. Les fichiers ont fonctionné sur ma machine locale mais pas sur le serveur donc je suppose qu'ils vont bien. – Eric

Répondre

0

essayer

<script type="text/javascript"> 
    $(function() { 
     $('#<%=EarliestArrivalTB.ClientID %>').datepicker(); 
    }); 
</script> 
+0

Eric

+0

Également essayé la version éditée et tire le bon ID mais le Jquery ne fonctionne toujours pas. – Eric

+0

voir si vous pouvez télécharger le script à partir de votre serveur web en faisant 'http: // monsite/js/jquery-1.5.1.js' –

2

Ma façon préférée de le faire

<script type="text/javascript"> 
    $(function() { 
     $('.DatePicker').datepicker(); 
    }); 
</script> 
<asp:TextBox ID="EarliestArrivalTB" runat="server" CssClass="DatePicker"></asp:TextBox> 

Cela signifie la mise en œuvre du datapicker sur tout le terrain est plus compliquée que l'ajout d'une classe DatePicker.

Editer: Je suppose que je devrais vous dire pourquoi cela ne fonctionne pas trop. L'identifiant que vous spécifiez sur un contrôle serveur est l'identifiant que vous utilisez pour faire référence dans le code côté serveur. Une fois qu'il est mis sur la page à cause des conteneurs de noms et de son identifiant client, il sera différent pour s'assurer qu'il n'y a pas de conflit de noms, par conséquent il y a la propriété ClientID pour que vous puissiez découvrir ce qu'est cet ID côté client.

+0

J'ai essayé ce truc de classe avant de Sans succès. J'ai essayé encore et échoué. Je comprends le problème et j'ai même utilisé l'ID rendu qui provenait de la page Web et ne fonctionne toujours pas. Merci pour l'entrée si – Eric

+0

Est-ce tous les navigateurs? Quelles autres bibliothèques utilisez-vous? Avez-vous regardé la console javascript pour vérifier les erreurs? – Hawxby

+0

Tous les navigateurs, Im n'utilisant aucune autre bibliothèque sur cette page. Les seules erreurs que j'obtiens est "Object ne supporte pas cette propriété ou méthode" et pointe sur la ligne 295 qui est cette ligne: $ (function() { – Eric

3

Le problème est que vous faites référence à un ID côté serveur. Vous devez générer l'ID clientside pour le contrôle de asp.net pour que cela fonctionne:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#<%=EarliestArrivalTB.ClientID %>').datepicker(); 
    }); 
</script> 

#EarliestArrivalTB comme un sélecteur sur le client n'existe pas, car il est la représentation clientside sera très différent.

Questions connexes