2015-12-13 34 views
1

我知道有这么多类似的问题已经被问到,但他们都没有解决我的问题。我尝试了很多次,但日期选择器仍然不起作用。jquery datepicker masterbottom

所以在我的母版页

<head> 
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"/> 
<script src="//code.jquery.com/jquery-1.10.2.js"></script> 
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
<head/> 
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> 

</asp:ContentPlaceHolder> 

在我的内容页面(ASP内容占位1中头部分)

 // i tried this 4 way but still not work 
    // $("[id$=txtStart]") 
    // $("input[id$='date2']").datepicker(); 
    <%--<%=txtStart.ClientID%>--%> 
    <%-- $("#<%=txtStart.ClientID %>")--%> 

    $(document).ready(function() { 
     $('[id$=txtStart]').datepicker({ 
      minDate: 0, 
      dateFormat: 'dd/mm/yy', 
      numberOfMonths: 2, 
      onSelect: function (dateStr) { 
       var min = $(this).datepicker('getDate'); // Get selected date 
       min.setDate(min.getDate() + 1); 
       $('[id$=txtEnd]').datepicker('option', 'minDate', min); // Set other min, default to today 

      } 
     }); 

    //another datepicker same as above 
     $('[id$=txtEnd]').datepicker({ 
      ..... 
      } 
     }); 


    }); 

这是我的控制

<td class="auto-style3"><asp:TextBox ID="txtStart" runat="server" > </asp:TextBox> 
    <td class="auto-style3"><asp:TextBox ID="txtEnd" runat="server" > </asp:TextBox> 
+0

$( “#” + <(%)= txtStart.ClientID%> ).datepicker({})试试这个。 –

+0

你看过[jQuery UI页面](http://jqueryui.com/datepicker/#date-range)的例子吗?我测试它,这正是你需要的 – balexandre

+0

@ParthTrivedi得到语法错误 – Xion

回答

1

您的代码应该是

$(document).ready(function() { 
     $("#<%=txtStart.ClientID%>").datepicker({ 
      minDate: 0, 
      dateFormat: 'dd/mm/yy', 
      numberOfMonths: 2, 
      onSelect: function (dateStr) { 
       var min = $(this).datepicker('getDate'); // Get selected date 
       min.setDate(min.getDate() + 1); 
       $("#<%=txtEnd.ClientID%>").datepicker('option', 'minDate', min); // Set other min, default to today 

      } 
     }); 

    }); 
+0

你可以使用'$(“[id $ = txtStart]”)'作为[jQuery Selector](https://api.jquery.com/attribute-ends-with-selector/)...没有错,他的错误是范围... – balexandre

0

我测试和工程罚款与此代码:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
    <script> 
     $(document).ready(function() { 
      $("[id$=txtStart]").datepicker({ 
       defaultDate: "+1w", 
       changeMonth: true, 
       numberOfMonths: 2, 
       onClose: function (selectedDate) { 
        $("#to").datepicker("option", "minDate", selectedDate); 
       } 
      }); 
      $("[id$=txtEnd]").datepicker({ 
       defaultDate: "+1w", 
       changeMonth: true, 
       numberOfMonths: 2, 
       onClose: function (selectedDate) { 
        $("#from").datepicker("option", "maxDate", selectedDate); 
       } 
      }); 
     }); 
    </script> 
</asp:Content> 

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <div> 
     from <asp:TextBox ID="txtStart" runat="server"/> to <asp:TextBox ID="txtEnd" runat="server"/> 
    </div> 
</asp:Content> 

思想我建议another datepicker range

那么您的代码将是:

<script> 
    $(document).ready(function() { 

     var dtStart = $('[id$=txtStart]'), 
      dtEnd = $('[id$=txtEnd]'); 

     $('[id$=txtStart]').dateRangePicker(
     { 
      separator: ' to ', 
      getValue: function() { 
       if (dtStart.val() && dtEnd.val()) 
        return dtStart.val() + ' to ' + dtEnd.val(); 
       else 
        return ''; 
      }, 
      setValue: function(s, s1, s2) { 
       dtStart.val(s1); 
       dtEnd.val(s2); 
      } 
     }); 
    }); 
</script> 

和您的主页:

<link rel="stylesheet" href="//longbill.github.io/jquery-date-range-picker/daterangepicker.css"/> 
<script src="//code.jquery.com/jquery-1.10.2.js"></script> 
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script> 
<script src="//longbill.github.io/jquery-date-range-picker/jquery.daterangepicker.js"></script> 

结果: enter image description here

+0

脚本必须放在asp ContentPlaceHolderID =“head”里面? – Xion

+0

不,但我总是使用'ContentPlaceholder',其中一个用于内容,另一个用于脚本或css,位于''标签之间 – balexandre