2012-06-04 10 views
5

Pracuję nad wyborem daty jquery. Muszę wybrać datę, ale po wybraniu daty z kalendarza potrzebuję daty, aby podzielić na trzy osobne listy rozwijane. Jeden na dzień pierwszy na miesiąc i jeden na rok. Oto mój skrypt jquery.Wybór daty jquery ale dzień miesiąca i rok w osobnych rozwijanych listach

<script type="text/javascript"> 
    $(document).ready(function() { 

    $(function() { 
    $("#fullDate").datepicker({ 
    onClose: function(dateText, inst) { 
     $('#day').val(dateText.split('/')[2]); 
     $('#month').val(dateText.split('/')[1]); 
    $('#year').val(dateText.split('/')[0]); 
    } 
}); 
}); 
}); 
</script> 

HTML

<div class="demo"> 

<p>Date: <input id="fullDate" type="text" style="display:block"></p> 
day:<select name="day" id="day" style="width:100px"> 
<option>1</option> 
<option>2</option> 
<option>3</option> 
<option>4</option> 
<option>5</option> 
</select> 

month:<select name="month" id="month" style="width:100px"> 
<option>1</option> 
<option>2</option> 
    <option>3</option> 
<option>4</option> 
<option>5</option> 
</select> 

year:<select name="year" id="year" style="width:100px"> 
<option>1</option> 
<option>2</option> 
<option>3</option> 
<option>4</option> 
<option>5</option> 
</select> 
</div><!-- End demo --> 
+1

Więc jaki błąd otrzymujesz? – UVM

+0

Błąd polega na tym, że po wybraniu daty z kalendarza nie wyświetla się ona w miesiącu i roku w powiązanych listach. –

+0

Czy podział działa z IE.? –

Odpowiedz

7

demo Praca kliknij tutaj:] http://jsfiddle.net/gvAbv/13/lubhttp://jsfiddle.net/gvAbv/8/

w demo kliknij w polu tekstowym i wybierz termin i bingo dostaniesz auto upadki drop zaludnionych.

Uwaga: dateText.split('/')[2] to rok, a nie dzień :) jeśli przełączysz miejsce, kod będzie działał.

tj. dateText.split('/')[2]: rok; dateText.split('/')[0]: miesiąc; dateText.split('/')[0]: Demo dnia odpoczynku pomoże ci to wyjaśnić.

Demo ma dodatkowe bity, ale to ci pomoże!

kod

$(function() { 
    $("#fullDate").datepicker({ 
     onClose: function(dateText, inst) { 
      $('#year').val(dateText.split('/')[2]); 
      $('#month').val(dateText.split('/')[0]); 
      $('#day').val(dateText.split('/')[1]); 
     } 
    }); 
}); 

innym Demo dla obrazu kliknij:http://jsfiddle.net/zwwY7/

kodu

$(function() { 
    $("#fullDate").datepicker({ 
     buttonImage: 'icon_star.jpg', 
     buttonImageOnly: true, 
     onClose: function(dateText, inst) { 
      $('#year').val(dateText.split('/')[2]); 
      $('#month').val(dateText.split('/')[0]); 
      $('#day').val(dateText.split('/')[1]); 
     } 
    }); 
}); 

​ 

Obrazy enter image description here

enter image description here

+0

działa dobrze, ale jakie zmiany powinienem zrobić, jeśli chcę kliknąć obraz kalendarza i uzyskać cała funkcjonalność, o której mi wspomniałeś. ?? –

+0

Witam @KashifWaheed hmmm, będzie to możliwe, jeśli użyjesz mojego jsfiddle i utworzysz swój problem - pomogę ci.Trudno mi zrozumieć, że w demo możesz kliknąć na obrazek kalendarza, który pojawia się w http://jsfiddle.net/gvAbv/13/ Dodam również obraz dla ciebie, daj mi znać, chętnie Ci pomożemy out :) –

+0

dziękuję bardzo proszę pana Tats_innit. Wiem, że działam lokalnie, ale zauważam, że jestem przy mnie na żywo, abym mógł wysłać łącze, które naprawdę mi przykro. ale dla twojego przekonania wysłałem ci ten link demo http://jsfiddle.net/gvAbv/8/ w tym demo jest pole tekstowe po kliknięciu na nim pojawia się kalendarz i bla bla. Potrzebuję tego samego, ale różnica polega na tym, że chcę zastąpić pole tekstowe obrazem i chcę uzyskać tę samą funkcjonalność. mam nadzieję, że rozumiesz i przepraszam, jeśli masz kłopoty. –

1

Użyj datepicker onselect metody w celu uzyskania wartości date musisz :: onselect info

odczuwalna:

onSelect: function(dateText, inst) {    
     var datePieces = dateText.split('/'); 
     var month = datePieces[0]; 
     var day = datePieces[1]; 
     var year = datePieces[2]; 
     //define select option values for 
     //corresponding element 
     $('select#month').val(month); 
     $('select#day').val(day); 
     $('select#year').val(year); 

} 

Czy yo u oznacza coś takiego

+0

tak oczywiście. Pan Tats_innit przysłał mi kilka linków demo, które rozwiązał mój problem, ale teraz moje pytanie brzmi, że jeśli chcę dodać obraz zamiast pola tekstowego, oznacza to, że na końcu trzech zrzutów znajduje się zdjęcie kalendarza, a po kliknięciu obrazu - kalendarza wyskakuję i wybieram dowolną datę i dzieli się na miesiąc i rok, o czym wspomniałem wcześniej. Jestem nowy w jquery.thanks za pomoc –

Powiązane problemy