2012-03-28 16 views
0

私はjavascriptとJQueryのコンセプトが新しく、日付範囲を取得するためのdatepickerが必要です。私は2つのフィールドを持つjsとjspを持っています: "と"から "、別のファイルとして、私はjspファイルのjspファイルをデータバインドでバインドしますが、このメソッドを呼び出す方法を知りたい日付ピッカー)私は、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"/> 

と私は以下のような関数を変更し、私は両方のテキストフィールドのクリックイベントでカレンダーメソッドを呼び出したメソッドが呼び出されていますが、私は選択した日付を取得することができない、 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は、テキストボックスのIDでtoo.Highlyあなたの助けをappriciate ko.observal()と終了日に日から取得する必要があります。あなたが持っている持っている場合は、テキストボックスの1内部をクリックしたときに、それはautmatically日付ピッカーが表示されます、あなたのコードに次の

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"/> 

Javascriptを

$(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これで問題は解決しましたか? –