0

ページの読み込み時に、2 つのテキスト ボックス コントロールにデフォルトの日付を設定しようとしています。私は常に最初のテキストボックス(StartDate)をデフォルトとして設定し、2013/01/01 のように前月の最初に設定したいと考えています。また、2番目のテキストボックス(EndDate)を2013年1月31日のように前月末に設定したいと思います。ページが初めてロードされたら、これらのデフォルトをテキストボックスにロードしたいと思います。よろしくお願いします。
これが私の現在のコードです:

     <link href="Styles/ui-lightness/jquery-ui-1.8.23.custom.css" rel="stylesheet" type="text/css" />
        <script src="Scripts/jquery-1.8.1.min.js" type="text/javascript"></script>
        <script src="Scripts/jquery-1.8.3.js" type="text/javascript"></script>
       <script src="FusionCharts/jquery.min.js" type="text/javascript"></script>
        <script src="Scripts/jquery-ui-1.8.23.custom.min.js" type="text/javascript"></script>

        <script type="text/javascript">
            $(document).ready(function () {
                $('.datepicker').datepicker();

            });
    </script>

<div>
<asp:TextBox ID="StartDate" runat="server" CssClass="datepicker" Width="110px"></asp:TextBox> 
</div>

<div>
<asp:TextBox ID="EndDate" runat="server" CssClass="datepicker" Width="110px"></asp:TextBox> 
</div>
4

2 に答える 2

2

私はこのようにすることができました:

$( ".datepicker" ).datepicker();
var firstDay, lastDay;
firstDay = firstDayNextMonth(new Date(2013, 0, 5)); // january = 0
lastDay = lastDayNextMonth(firstDay);
$("#StartDate").datepicker("setDate",  firstDay);
$( "#EndDate" ).datepicker("setDate", lastDay );

function firstDayNextMonth(date) {
    var d = date;
    if(d === undefined)
        d = new Date();

    d.setDate(1);
    if(d.getMonth() < 11)
        d.setMonth(d.getMonth() + 1);
    else
        d.setMonth(0);
    return d;
}

function lastDayNextMonth(myDate) {
    var endDate = new Date(myDate.getFullYear(), myDate.getMonth(), 1);
    if(endDate.getMonth() < 11)
        endDate.setMonth(endDate.getMonth() + 1);
    else
        endDate.setMonth(0);
    return new Date(endDate.getFullYear(), endDate.getMonth(), 0);
}

jsFiddle のコードへのリンク

于 2013-02-27T19:04:19.657 に答える
1
Start <input type="text" id="StartDate"/><br>
End <input type="text" id="EndDate"/>

jQuery:

$(function(){
  $("#StartDate").datepicker();
  $("#EndDate").datepicker();
  var startdate=new Date();
  startdate.setMonth(startdate.getMonth() - 1, 1);
  $("#StartDate").datepicker("setDate",startdate);
  var endDate=new Date(); // current date
  endDate.setDate(1); // going to 1st of the month
  endDate.setHours(-1);
  $("#EndDate").datepicker("setDate",endDate);    
});

jsfiddle

あなたのコード(編集済み)

<link href="Styles/ui-lightness/jquery-ui-1.8.23.custom.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-1.8.1.min.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.8.3.js" type="text/javascript"></script>
<script src="FusionCharts/jquery.min.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui-1.8.23.custom.min.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function () {
       $("#StartDate").datepicker();
       $("#EndDate").datepicker();
       var startdate=new Date();
       startdate.setMonth(startdate.getMonth() - 1, 1);
       $("#StartDate").datepicker("setDate",startdate);
       var endDate=new Date(); // current date
       endDate.setDate(1); // going to 1st of the month
       endDate.setHours(-1);
       $("#EndDate").datepicker("setDate",endDate);
    });
</script>

<div>
<asp:TextBox ID="StartDate" runat="server" CssClass="datepicker" Width="110px">   </asp:TextBox> 
</div>

<div>
<asp:TextBox ID="EndDate" runat="server" CssClass="datepicker" Width="110px">  </asp:TextBox> 
</div>

注: 上記のスクリプトを実行するには、 が次のようにClientIDMode設定されていることを確認してください。static

<%@ Page Title="" Language="C#" ClientIDMode="Static" ...

jquery 1.8.3およびjquery ui 1.8.23のjsfiddle

于 2013-02-27T19:04:11.467 に答える