MMycodezMedlem sedan feb. 2010445 inlägg Jag har ett par datepickers i denna modal. men jag får inte att datumen ska skrivas i i rätt fält.
om jag trycker på en den modalen som ligger längst ner så kommer det datumet jag valde i den första modalen.
Min kod för datepickern ser ut
$(function() {
$( ".modal:visible #to" ).datepicker({
changeMonth: true,
numberOfMonths: 2,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
onClose: function( selectedDate ) {
$( ".modal:visible #to" ).datepicker( "option", "minDate", selectedDate );
}
});
$( ".modal #from" ).datepicker({
changeMonth: true,
numberOfMonths: 2,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
onClose: function( selectedDate ) {
$( ".modal #from" ).datepicker( "option", "maxDate", selectedDate );
}
});
});
vad kan var fel?
ingen av dom är väl visible vid inladdning $( ".modal:visible #to" ) är väl ett tom kollektion? fattar faktiskt inte varför du vill köra med så mycket id:n
nu gissar jag bara:
$(function() {
$( ".modal input[name='to']" ).each(function(){
var current = $(this);
current.datepicker({
changeMonth: true,
numberOfMonths: 2,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
onClose: function( selectedDate ) {
current.datepicker( "option", "minDate", selectedDate );
}
});
});
$(".modal input[name='from']").each(function(){
var current = $(this);
current.datepicker({
changeMonth: true,
numberOfMonths: 2,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
onClose: function( selectedDate ) {
current.datepicker( "option", "maxDate", selectedDate );
}
});
});
});
är nog det du är ute efter?
MMycodezMedlem sedan feb. 2010445 inlägg Ne det funkar inte tyvärr :/
Varför jag kör med id:n är nog sen jag lärde mig utveckla smått i skolan.
Mycodez skrev:
Ne det funkar inte tyvärr :/
Varför jag kör med id:n är nog sen jag lärde mig utveckla smått i skolan.
du få nog berätta problemet bättre än vad du gör just nu för din kod säger mig inte mycket vad du egentligen vill göra.
MMycodezMedlem sedan feb. 2010445 inlägg Okej om jag säger såhär.
Jag har x antal olika modals som finns för att kunna skapa/ändra sin data som finns. Denna funktion jag gör är som en CV bas kan man säga. där man kan kunna lägga till erfarenheter och sånt. Och för jobb och skola så har man gjort det under olika tidsperioder. och det är då datepickern kommer in i bilden. för att göra det smidigt. och för min profil så har jag tex 3 olika yrkes erfarenheter och då finns det 3 olika modals med datepickers men när jag tex vill ändra slutdag eller startdag på min sista erfarenhet så ändras modals data i första modalen. men det vill jag inte att det är så.
förstår ni?
bör det inte vara:
current.val(selectedDate);
istället för
current.datepicker( "option", "maxDate", selectedDate );
?
MMycodezMedlem sedan feb. 2010445 inlägg nee funkar fortfarande inte.
jag har två versioner och ingen av dem fungerar :/
$(function() {
$( ".modal input[name='to']" ).each(function(){
var current = $(this);
current.datepicker({
changeMonth: true,
numberOfMonths: 2,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
onClose: function( selectedDate ) {
current.datepicker( "option", "minDate", selectedDate );
}
});
});
$(".modal input[name='from']").each(function(){
var current = $(this);
current.datepicker({
changeMonth: true,
numberOfMonths: 2,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
onClose: function( selectedDate ) {
current.datepicker( "option", "maxDate", selectedDate );
}
});
});
})
//Denna är ut kommenderad
/*$(function() {
$( ".modal:visible input[name='to']" ).datepicker({
changeMonth: true,
numberOfMonths: 2,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
onClose: function( selectedDate ) {
$( ".modal:visible input[name='to']" ).datepicker( "option", "minDate", selectedDate );
}
});
$( ".modal input[name='from']" ).datepicker({
changeMonth: true,
numberOfMonths: 2,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
onClose: function( selectedDate ) {
$( ".modal input[name='from']" ).datepicker( "option", "maxDate", selectedDate );
}
});
});*/
from skall sätta max datum, nu hänger jag med, du måste ju iså fall länka ihop dessa två element på något sätt:
$(function() {
$(".modal").each(function(){
var to = $(" input[name='to']", this);
var from = $(" input[name='from']", this);
to.datepicker({
changeMonth: true,
numberOfMonths: 2,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
onClose: function( selectedDate ) {
from.datepicker( "option", "minDate", selectedDate );
}
});
from.datepicker({
changeMonth: true,
numberOfMonths: 2,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
onClose: function( selectedDate ) {
to.datepicker( "option", "maxDate", selectedDate );
}
});
});
});
MMycodezMedlem sedan feb. 2010445 inlägg Det funkar men det ändrar fortfarande fel modal.
om jag säger så här så här e strukturen.
modal1
modal2
modal3
modal_laggtill
och när jag är i modal3 så ändrar den fältet i modal1 och man ser inte att man har ändrat i modal3 där det ska finnas.
Mycodez skrev:
Det funkar men det ändrar fortfarande fel modal.
om jag säger så här så här e strukturen.
modal1
modal2
modal3
modal_laggtill
och när jag är i modal3 så ändrar den fältet i modal1 och man ser inte att man har ändrat i modal3 där det ska finnas.
då vet jag inte, borde inte göra det för den kör varje modal som ett eget block. Har du någon annan kod som också har med datum att göra så du inte binder två plugin?
men det verkar ju så att du har nog inte satt några gränser från början när du sätter datepicker vid laddning av sidan, detta borde du väl ändå ha?
MMycodezMedlem sedan feb. 2010445 inlägg nee för detta är en egen javascript fil och det är det ända i denna och även den ända javascript koden som rör datepicker,
men det som också rör datumen annars är min php kod som räknar antal månader mellan de två olika datumen men de rör dock dem sparade datumen som kommer från databasen
$d1 = $v['start-date'];
$d2 = ($v['is-current']==1) ? date("Y-m-d",time()) : $v['end-date'];
echo "(". (int)abs((strtotime($d1) - strtotime($d2))/(60*60*24*30))." månader)";
MMycodezMedlem sedan feb. 2010445 inlägg men märkte en sak när jag var inne i modal1 och ändra slut datumet så ändrades startdagen också :/
$(function() {
$(".modal").each(function(){
var to = $(" input[name='to']", this);
var from = $(" input[name='from']", this);
to.datepicker({
changeMonth: true,
numberOfMonths: 2,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
onSelectType: function( selectedDate ) {
from.datepicker( "option", "minDate", selectedDate );
}
});
from.datepicker({
changeMonth: true,
numberOfMonths: 2,
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm-dd",
onSelectType: function( selectedDate ) {
to.datepicker( "option", "maxDate", selectedDate );
}
});
from.datepicker( "option", "minDate", to.datepicker( "getDate" ) );
to.datepicker( "option", "maxDate", from.datepicker( "getDate" ) );
});
});
kanske? och ta bort id:na dom är inte unika på din sida
MMycodezMedlem sedan feb. 2010445 inlägg Jag tog bort de flesta, förutom dem unika. Sen en sak din kod voigtann1 gör av någon anledning att slutdagen visas samtidigt i start också. Knasigt. Men annars så funkar det nu :)
$("[id='from']") gav mig tre träffar, du måste få alla dina element unika för om man kollar data objektet på ditt element så har du:
id "from"
vilket är förmodligen därför du få problem.
MMycodezMedlem sedan feb. 2010445 inlägg Jag tog bort id.na och ändrade
from.datepicker( "option", "minDate", to.datepicker( "getDate" ) );
to.datepicker( "option", "maxDate", from.datepicker( "getDate" ) );
till
from.datepicker( "option", "minDate", from.datepicker( "getDate" ) );
to.datepicker( "option", "maxDate", to.datepicker( "getDate" ) );
och då funkade det ^^