2014-09-16 3 views
2

날짜를 선택한 후 datepicker에서 날짜를 사용하지 않도록 설정하는 데 문제가 있습니다.datepicker에서 선택 후 날짜 사용 안 함

내 HTML 마크 업 : 내가 사용

Day 1 <input type="text" id="datepicker1" name="datepicker1" /> <br/> 
Day 2 <input type="text" id="datepicker2" name="datepicker2" /> <br/> 
Day 3 <input type="text" id="datepicker3" name="datepicker3" /><br/> 
Day 4 <input type="text" id="datepicker4" name="datepicker4" /><br/> 
Day 5 <input type="text" id="datepicker5" name="datepicker5" /><br/> 
Day 6 <input type="text" id="datepicker6" name="datepicker6" /><br/> 
Day 7 <input type="text" id="datepicker7" name="datepicker7" /><br/> 

자바 스크립트 :

var dates = $("#datepicker1, #datepicker2, #datepicker3, #datepicker4, #datepicker5, #datepicker6, #datepicker7").datepicker({ 
    minDate: "0", 
    maxDate: "+2Y", 
    defaultDate: "+1w", 
    dateFormat: 'mm/dd/yy', 
    numberOfMonths: 1, 
    onSelect: function(date) { 
     for(var i = 0; i < dates.length; ++i) { 
      if(dates[i].id < this.id) 
       $(dates[i]).datepicker('option', 'maxDate', date); 
      else if(dates[i].id > this.id) 
       $(dates[i]).datepicker('option', 'minDate', date); 
     } 
    } 
}); 

My JsFiddle Demo

나는 JsFiddle에 그 useful script을 얻었다. 1 날짜를 선택하면 날짜가 올바르게 비활성화됩니다. 하지만 7 일 동안 사용해야합니다. 그래서 누군가 내 jsfiddle 예제에서 저에게 유용한 스크립트를 사용하도록 도와줍니다!

## 선택 후 날짜가 비활성화됩니다. 다음을 선택할 수 없습니다.

+0

내가 완전히이 질문에 당신의 의도를 오해 생각합니다. datepicker에서 날짜 자체를 더 이상 사용할 수 없게하고 비활성화 할 입력 필드는 원하지 않습니다. 나는 내 대답을 제거 할 것이다. –

+0

예 ... 당신의 다음 대답은 나를 위해 어떤 도움이 PLZ? –

+0

http://jsfiddle.net/SirDerpington/h3wGx/4/ 거기에서 포퍼 리하게 일하지만 거기서 7 개의 날짜를 더할 수 없습니다. –

답변

0

당신이 입력 필드를 선택하면 날짜를 사용할 수없는 다른 버전, http://jsfiddle.net/tfqyakn2/6/

var datesMin = []; 
var dates = $("#datepicker1, #datepicker2, #datepicker3, #datepicker4, #datepicker5, #datepicker6, #datepicker7").datepicker({ 
minDate: "+0", 
maxDate: "+2Y", 
defaultDate: "+1w", 
dateFormat: 'mm/dd/yy', 
numberOfMonths: 1, 
onSelect: function(date) {    
    datesMin.push(new Date($(this).val()));   
}, 
beforeShow: function() {   
    $(this).datepicker("option", "minDate", maxi()); 
} 
}); 

function sortDates(a, b){ 
return a.getTime() - b.getTime(); 
} 

function maxi(){ 
var sorted = datesMin.sort(sortDates);  
var minDate; 
if(datesMin.length > 0){ 
minDate = sorted[sorted.length-1];  
} else { 
minDate = 0;  
} 
return minDate; 
} 
+0

http://s5.postimg.org/60cl5vxbb/freelancingcare_2014_09_17.jpg 저기 .. 저기 .. 아직도 봐. 나는 거기에 같은 날짜를 추가 할 수 있습니다 : ( 나는 사용자가 다시 같은 날짜를 추가 할 수 없길 원합니다 http://jsfiddle.net/SirDerpington/h3wGx/4/ jsfiddle 거기에 같은 날을 선택하십시오. 내 스크립트에서 비슷한 방식으로. –

+0

글쎄, 만약 당신이 그것을 할 수 있었다면, 당신이 직접 할 수있는 한 +1이다. 여기에 업데이트되고 upvote 대답 ht tp : //jsfiddle.net/tfqyakn2/8/ –

+0

와우 대단해 .. 작동 ... –

0

나는 당신이 datefields에서 선택한 날짜를 비활성화하고 그 날짜는 나머지 입력 필드 (datepickers)에서 사용할 수 없어야한다고 생각합니다.

나는 스크립트에 일부 내용을 변경했습니다 : http://jsfiddle.net/tfqyakn2/5/

나는 이것이 당신이 찾고있는 답이 있다고 생각합니다. 여기

var disabledDates = []; 

var dates = $("#datepicker1, #datepicker2, #datepicker3, #datepicker4, #datepicker5, #datepicker6, #datepicker7").datepicker({ 
    minDate: "0", 
    maxDate: "+2Y", 
    defaultDate: "+1w", 
    dateFormat: 'mm/dd/yy', 
    numberOfMonths: 1, 
    onSelect: function(date) {   
     disabledDates.push($(this).val());   
    }, 
    beforeShowDay: unavailable 
}); 

function unavailable(date) { 
    dateZero = ('0' + (date.getMonth()+1)).slice(-2) + '/' 
      + ('0' + date.getDate()).slice(-2) + '/' 
      + date.getFullYear();  
    if ($.inArray(dateZero, disabledDates) < 0) { 
     return [true,"","Available Date"]; 
    } else { 
     return [false,"","Not Available Date"]; 
    } 
} 
+0

친절한 대답을 해주셔서 감사합니다. 약간의 문제가 있습니다. 문제를 해결하는 데 도움이되기를 바랍니다. 날 1에서 미래 날짜를 선택할 때 날 2 또는 기타에서 선택할 수있는 과거 날짜가 여전히 .. 사용할 수 없어야합니다 .. plz : http://s5.postimg.org/gjckv1zzb/을 확인하십시오. freelancingcare_2014_09_17.jpg –

+0

나는 당신을 위해 업데이트 된 jsfiddle을 가지고있다. http://jsfiddle.net/tfqyakn2/6/ –

+0

나는 나를 위해 당신의 도움을 주셔서 감사합니다 ..plz 내 대답에 대한 귀하의 두 번째 대답을 확인하십시오. 나는 다시 여기에 쓰고있다. " \t s5.postimg.org/60cl5vxbb/freelancingcare_2014_09_17.jpg 거기에 같은 날짜를 추가 할 수 있습니다. (사용자가 계속해서 같은 날짜를 추가 할 수 있기를 원합니다. jsfiddle.net/SirDerpington/h3wGx/4 거기서 당일 치기를 선택할 수 없습니다. 제 스크립트에서 이와 비슷한 방식으로하고 싶습니다. " –

관련 문제