2010-10-27 9 views
7

Je développe une page/application asp.net. J'ai créé une zone de texte que j'ai définie comme un outil de saisie de date en utilisant le programme datepicker de jqueryui. dans firefox et chrome le datepicker ne rend pas. dans IE9 le sélecteur de date rend si j'ignore l'erreur. l'erreur est à la ligne 644 dans jquery.ui.datepicker.js.jqueryui datepicker erreur de lancement au code relatif à zIndex

le code où l'erreur est lancée est ici.

inst.dpDiv.zIndex($(input).zIndex()+1);

c'est le message que VS affiche quand il attrape l'erreur

Erreur d'exécution Microsoft JScript: Cet objet ne gère pas cette propriété ou méthode

je ne suis pas sûr qu'est-ce qui cause le problème? J'ai cherché des questions de zindex, et ceux que je trouve sont liés au dialogue apparaissant derrière d'autres éléments. je n'ai pas le happening.

+0

S'il vous plaît inclure du code si vous voulez que d'autres personnes peuvent aider.Par exemple votre section head, le balisage textbox, le code d'initialisation jquery, etc. – Lorenzo

+0

J'ai supprimé ce code pour l'instant, mais juste pour le suivi. Mais mon code était à peu près un copier/coller d'exemples sur la façon d'ajouter le jqueary date sélecteur. http://jqueryui.com/demos/datepicker/ comme exemple d'une ressource que j'utilisais. seule différence est que j'ai utilisé asp textbox au lieu d'une zone de texte html dans mon fichier aspx. les attributs de la zone de texte incluaient id, runat et une largeur. – Michael

Répondre

3

.zIndex() n'est pas une méthode jQuery (recherche l'API jQuery, rien là-bas)

Vous devez utiliser la Css ('z-index', '100')

également un côté A noter:

pour travailler dans ASP .NET, je ne pas utiliser le signe $ pour accéder jQuery J'utilise

inst.dpDiv.zIndex(jQuery(input).zIndex()+1); 

Selon ce cadre ASP .NET vous utilisez des formulaires Win, MVC, etc construit dans MSFT UNE jax peut entrer en collision avec jQuery.

+0

Donc, le code qui brise est le code qui vient directement de jqueryui.com. devrais-je mettre à jour ce fichier js? – Michael

+0

http://jquery-ui.googlecode.com/svn/trunk/ui/jquery.ui.datepicker.js – Michael

+0

ok maintenant je n'ai aucune idée de ce que je dois avoir mal fait. J'ai sorti le code hier et j'ai continué avec mon projet. aujourd'hui je mets le code dans, et aucune erreur o_O. – Michael

7

J'ai eu le même problème et l'ai corrigé en m'assurant que j'avais l'interface utilisateur jQuery et jQuery la plus récente référencée.

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script> 
26

Ajouter jquery.ui.core.js sera OK

+0

cela a fonctionné pour moi – kraag22

+0

Merci .. Ça fonctionne pour moi .. – Prabhagaran

0

Axel22 a donné la bonne réponse pour résoudre ce problème pour moi. Ceci est dû au fait que le script jquery-ui-datepicker.js dépend du script jquery-ui-core.js.

Ceci est précisé sur la page jQuery Datepicker Documentation, dans l'onglet 'Vue d'ensemble', à droite, il y a une liste de dépendances.

1

Utilisez ceci:

$.zIndex = $.fn.zIndex = function (opt) {    
     var def = { inc: 10, group: "*" }; 
     $.extend(def, opt); 
     var zmax = 0; 
     $(def.group).each(function() { 
      var cur = parseInt($(this).css('z-index')); 
      zmax = cur > zmax ? cur : zmax; 
     }); 
     if (!this.jquery) 
      return zmax; 

     return this.each(function() { 
      zmax += def.inc; 
      $(this).css("z-index", zmax); 
     }); 
    } 
-1

Ceci est ma solution:

//inst.dpDiv.zIndex(jQuery(input).zIndex()+1); //we don't need it anymore 

$.zIndex = '30000'; // i set the zindex at the higher value 
0

Ajouter la référence de script (../Scripts/jquery.ui.core.js) il fonctionnera Se reporter à la bibliothèque jquery.ui.core.js

1

I inclus (fichiers core),

 ui.css and ui.core.js files 

Cela fonctionne pour moi ..

+0

a également travaillé pour moi :) –

Questions connexes