2010-12-07 8 views
1

開始日と終了日を入力するための2つの入力ボックスがあります。開始日が終了日よりも早いかどうかを確認する必要があります。 datepickerコントロールのonselectイベントにアタッチすると発砲しているようです。私が間違っていることを誰か教えてもらえますか?jquery datepicker onselect not firing

<script language="javascript" type="text/javascript"> 
     $(document).ready(function() { 
      $(".date").datepicker({ 
      onSelect:function(dateText,inst){ 

      var startDate=new Date($("#_createDateFromInput").val()); 
      var endDate=new Date($("#_createDateToInput").val()); 
      if(startDate!=""&&endDate!="") 
      { 
       if(startDate>endDate) 
       { 
        alert("End date cannot be earlier than start date"); 
       } 
      } 

      } 

     });}); 
    </script> 

ありがとうございます!上記のマークアップがある

(これはasp.netである):

<label>Date From</label> 
<input class="date" runat="server" id="_createDateFromInput" /> 
<label id="to">To</label> 
<input class="date" runat="server" id="_createDateToInput" /> 

エルRonnocoは、私が何かにラッチしていると信じていた...私はにrunat =「サーバー」タグを削除するとき、私は気づきます私は、しかし、今でも...私は別の のポストバック(つまり、ユーザーが最終的に提出する)の値を取得する問題に直面しています...誰もがアイデアを持っていますか?

+0

あなたの要素 '_createDateFromInput'と' _createDateToInput'のマークアップとは何ですか?あなたのstartDateとendDate変数が正しく設定されていないと思います。 から –

+0

<入力クラス= "日付" にrunat = "サーバー" IDに= "_ createDateToInput" /> – tmt1982

+0

El Ronnoco u right私は私のクエリに何かを発見した、ありがとう! – tmt1982

答えて

0

これを実現する簡単な方法は、ユーザーがendDateのより早い日付を選択できるようにすることです。

これは単に、jQueryのUIの例からページ、私はこのコードを使用して日付ピッカーのプラグインのMinDateプロパティオプション

$("#startDate").datepicker({ 
    onSelect:function(dateText,inst){ 
     $("#endDate").datepicker("option", "minDate", new Date(dateText)); 
    } 
}); 
0

を使用して行うことができます:http://jqueryui.com/demos/datepicker/#event-search

基本的には2つの入力を取り、それらdatepickersますonselectはmindateとmax dateの両方を制限します。これは非常に巧妙なコードです。

$(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); 
     } 
    }); 
}); 
0

すべてのinput.Iはあなたがdown.Iを書かれていたものの多くはjquery.Iためのあらゆる種類の問題がなければならなかった属性runat="server"原因を持つ何らかの理由でその作品を作ることができた使用のためにみんなありがとう構文に興味のある人にタグを削除し、page.Forに固有のものであり、リクエストオブジェクトを使用してアクセス:

STARTDATEは、そのフィールドの属性名の値です
request.form["startDate"].tostring(); 

+0

この回答を横にある「チェック」アイコンまたは「チェック」アイコンをクリックして「受け入れ」とマークすることを検討してください –