2015-07-01 12 views
8

Sto lavorando su un modulo Web ASP.Net che include AJAX Modelpoup Extender e jquery nepali-datepicker. Devo integrare nepali-datepicker in una casella di testo che si trova all'interno del mio secondo modelpopup, ad esempio con lo sfondo blu mostrato nell'immagine qui sotto. problema che sto affrontando è che io non sono in grado di posizionare datepicker in fondo textboxCambia la posizione di Datepicker all'interno della casella di testo Modelpopup

Sulla base di risposte sul post (How to change the pop-up position of the jQuery DatePicker control) sono stato in grado di portare datepicker di fronte a seconda del modello pop-up. C'è un modo che posso usare per posizionare effettivamente DatePicker nella casella di testo.

Ecco il mio script e gli stili:

<script type="text/javascript">   
    function pageLoad() { 
     $('.nepali-calendar').nepaliDatePicker(); 
    } 

    $(document).ready(function() { 
     $('.nepali-calendar').nepaliDatePicker(); 

    }); 
</script>  

<style type="text/css"> 
    div#ndp-nepali-box 
    { 
     position:absolute; 
     z-index: 999999; 
    } 
</style> 

seguente immagine mostra come si è posizionato al momento. enter image description here

Se utilizzo position come relative.

<style type="text/css"> 
    div#ndp-nepali-box 
    { 
     position: relative; 
     z-index: 999999; 
    } 
</style> 

Sembra enter image description here

C'è un modo che posso usare per posizionare in realtà datepicker verso il basso della casella di testo.

risposta

0

Prova posizione relativa:

<style type="text/css"> 
    div#ndp-nepali-box 
    { 
     position: relative; 
     z-index: 999999; 
    } 
</style> 

Non so, qual è div # NDP-nepalese-box, ma provare a fare questo:

<style type="text/css"> 
    .ui-datepicker 
    { 
     position: relative; 
     z-index: 999999; 
    } 
</style> 

può essere importante

+0

Ho provato che ... non funziona .... 'datepicker' dialogbox inizia dalla parte superiore del secondo' modelpopup, e finisce nella parte inferiore del modulo principale. Ho aggiornato la domanda per mostrare il design. – TFrost

+0

prova ad aggiungere "bottom: 50px; right: 100px;" ? –

+0

@Trost aggiornato. Inoltre, hai il tuo sito nel web? così, possiamo guardare alla situazione reale – Backs

6

Poiché si utilizza jquery UI Datepicker dovrebbe avere la proprietà beforeShow e cambiare css all'interno di questa proprietà come di seguito.

Scegli questa fiddle

$('input.date').datepicker({ 
beforeShow: function(input, inst) { 
var cal = inst.dpDiv; 
var top = $(this).offset().top + $(this).outerHeight(); 
var left = $(this).offset().left; 
setTimeout(function() { 
    cal.css({ 
     'top' : top, 
     'left': left 
    }); 
}, 10); 
} 
}); 

Reference

+1

Sto usando un leggero diverso datepicker da 'jquery UI Datepicker'. Ho cercato la proprietà 'beforeShow' ma non l'ho trovata. Ad ogni modo sono andato sul sito dello sviluppatore di datepicker per contattarlo e ho scoperto che ha rilasciato una nuova versione di datepicker. Ho implementato la versione più recente che non so perché ha risolto il problema stesso. Grazie comunque :) – TFrost

+0

A causa delle differenze nei plugin 'jquery datepicker', questa soluzione non faceva per me .. spero che questa soluzione funzioni per altri utenti. Quindi ti premierò la mia generosità :) – TFrost

+0

Grazie !!! @TFrost –

Problemi correlati