2012-03-28 4 views
0

저는 자바 스크립트 및 JQuery 개념이 처음이므로 날짜 범위를 가져 오는 데 필요한 datepicker를 갖고 싶습니다. 나는 두 개의 필드가있는 js와 jsp를 가지고있다. "와"from "을 별도의 파일로 만들고 jsp 페이지의 js 파일을 데이터 바인딩과 바인딩한다.하지만이 메소드를 호출하는 방법을 알고 싶다. 날짜 선택 I 텍스트 상자를 클릭하고 선택 값을 얻을 때) (시작 및 VAR 날짜에서 종료 날짜)? JQuery와 사이트에 주어진 기능에 대한jQuery UI datepicker binding

$(function() {  

var dates = $("#from, #to").datepicker({ 
      defaultDate: "+1w", 
      changeMonth: true, 
      numberOfMonths: 3, 
      onSelect: function(selectedDate) { 
       var option = this.id == "from" ? "minDate" : "maxDate", 
        instance = $(this).data("datepicker"), 
        date = $.datepicker.parseDate(
         instance.settings.dateFormat || 
         $.datepicker._defaults.dateFormat, 
         selectedDate, instance.settings); 
       dates.not(this).datepicker("option", option, date); 
      } 
     }); 
    }); 

감사합니다 당신의 입력, 네, jsp 파일에 정확한 ID가 있고 별도의 js 파일에서 모델로 스크립트를 가지고 있고 jsp.and에서 데이터 바인딩을 사용하여 모델을 바인딩합니다. 언급 한대로 스크립트를 추가했지만 방법은 전혀 부르지 않았으므로 jsp를

로 변경했습니다.
<label for="from">From</label> 
<input type="text" id="from" name="from" /> 
<label for="to">to</label> 
<input type="text" id="to" name="to"/> 

및 아래의 함수를 수정하고 두 텍스트 필드의 click 이벤트에서 calender 메서드를 호출하면 메서드가 호출되는 중입니다. 그러나 선택한 날짜를 가져올 수 없습니다. var 날짜에서 어떻게 얻을지 모르겠다. 나는

calender: function(){ 
console.log("in calender"); 
var dates = $("#from, #to").datepicker({ 
defaultDate: new Date(), 
changeMonth: true, 
numberOfMonths: 1, 
onSelect: function(selectedDate) { 
var option = this.id == "from" ? "minDate" : "maxDate", 
instance = $(this).data("datepicker"), 
date = $.datepicker.parseDate(
instance.settings.dateFormat || 
$.datepicker._defaults.dateFormat, 
selectedDate, instance.settings); 
dates.not(this).datepicker("option", option, date); 
} 
}); 
}, 

답변

0

#from#to는 텍스트 상자의 식별자입니다 too.Highly 당신의 도움을 appriciate ko.observal()와 종료 날짜 날짜의를 얻을 필요가있다. 당신이 가지고있는 경우에는 텍스트 상자 중 하나 내부를 클릭 할 때이 인 타이틀 날짜 선택기를 표시합니다 코드에서 다음

HTML

<label for="from">From</label> 
<input type="text" id="from" name="from"/> 
<label for="to">to</label> 
<input type="text" id="to" name="to"/> 

자바 스크립트

$(function() { 
    var dates = $("#from, #to").datepicker({ 
      defaultDate: "+1w", 
      changeMonth: true, 
      numberOfMonths: 3, 
      onSelect: function(selectedDate) { 
       var option = this.id == "from" ? "minDate" : "maxDate", 
        instance = $(this).data("datepicker"), 
        date = $.datepicker.parseDate(
         instance.settings.dateFormat || 
         $.datepicker._defaults.dateFormat, 
         selectedDate, instance.settings); 
       dates.not(this).datepicker("option", option, date); 
      } 
     }); 
    }); 

당신이 할 jQuery가 나머지를 처리하기 때문에 다른 것을 할 필요가 없다. 귀하의 html을 보지 않고 더 많은 정보없이 귀하의 ID가 일치하지 않는다고 가정합니다.

+0

@Mercy이 문제가 해결 되었습니까? –