2010-10-27 14 views
7

Sto sviluppando una pagina/applicazione asp.net. Ho creato una casella di testo che ho impostato come un datepicker utilizzando il datepicker da jqueryui. in firefox e chrome il datepicker non esegue il rendering. in IE9 il selettore di date esegue il rendering se ignoro l'errore. l'errore è alla riga 644 in jquery.ui.datepicker.js.jqueryui datepicker errore di lancio al codice relativo a zIndex

il codice in cui è stato generato l'errore è qui.

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

questo è il messaggio che viene visualizzato VS quando raggiunge l'errore

errore di runtime Microsoft JScript : L'oggetto non supporta questa proprietà o metodo

non sono sicuro qual è la causa del problema. Ho cercato problemi zindex, e quelli che sto trovando sono legati al dialogo che appare dietro altri elementi. non ho l'accadimento

+0

Si prega di includere del codice se si desidera che altre persone possano aiutare.Ad esempio la tua sezione di testa, il markup della casella di testo, il codice di inizializzazione jquery, ecc. – Lorenzo

+0

Ho rimosso questo codice per ora, ma solo per seguire up.but il mio codice più o meno è stato un copia/incolla di esempi su come aggiungere il selezionatore di date jqueary. http://jqueryui.com/demos/datepicker/ come esempio di una risorsa che stavo usando. l'unica differenza è che ho usato asp textbox invece di una textbox html nel mio file aspx. gli attributi della casella di testo includevano id, runat e una larghezza. – Michael

risposta

3

.zIndex() non è un metodo jQuery (cercare l'API di jQuery, non c'è niente)

Si dovrebbe usare il css ('z-index', '100')

anche un lato Attenzione:

Ogni volta che lavora in ASP .NET non uso il simbolo $ per accedere jQuery io uso

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

a seconda di cosa framework ASP .NET si utilizzano moduli Win, MVC ecc il costruito nel MSFT UN jax può entrare in collisione con jQuery.

+0

Quindi il codice che si sta rompendo è il codice direttamente da jqueryui.com. dovrei aggiornare quel file js? – Michael

+0

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

+0

ok ora non ho idea di cosa devo aver fatto di sbagliato. Ho preso il codice ieri e sono andato avanti con il mio progetto. oggi ho rimesso il codice e nessun errore o_O. – Michael

7

Ho avuto questo stesso problema e l'ho risolto assicurandomi che avessi il più recente jQuery e jQuery UI di riferimento.

<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

Aggiungere jquery.ui.core.js sarà OK

+0

questo ha funzionato per me – kraag22

+0

Grazie .. Funziona per me .. – Prabhagaran

0

Axel22 ha dato la risposta giusta per risolvere questo problema per me.

Questo perché lo script jquery-ui-datepicker.js dipende dallo script jquery-ui-core.js.

Questo è reso chiaro sulla pagina jQuery Datepicker Documentation, all'interno della scheda "Panoramica", a destra, c'è un elenco di dipendenze.

1

Utilizzare questa:

$.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

Questa è la mia soluzione:

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

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

aggiungere il riferimento di script (../Scripts/jquery.ui.core.js) che funzionerà Fare riferimento a jquery.ui.core.js biblioteca

1

ho incluso (file core),

 ui.css and ui.core.js files 

È funzionante per me ..

+0

Ha funzionato anche per me :) –

Problemi correlati