如何在asp.net的web控件中使用jquery Datepicker?

时间:2013-03-05 09:11:36

标签: jquery asp.net datepicker web-controls

我正在创建一个web控件,我想在这个控件上使用jquery日期选择器,我尝试了以下的东西: 1)。在web控件中应用所有必需的jquery代码(但它对我不起作用。) 2)。在我调用该网页控件的页面中应用所有必需的jquery代码(但它对我不起作用。

请帮助我,

实际上,我的目的是: 我想创建一个搜索的通用模块,我将只传递它自动工作的表名,我到目前为止完成的是:

1)。绑定下拉列表中的所有列 现在我想要做的是:如果列类型是DateTime,那么它将显示带有jquery日历的文本框。

请帮我解决这个问题,我的代码是:

<table>
<tr>
    <td>
        <asp:DropDownList ID="drpColumnName" Width="150px" runat="server" AutoPostBack="true"
            OnSelectedIndexChanged="drpColumnName_SelectedIndexChanged">
        </asp:DropDownList>
    </td>
    <td>
        <asp:DropDownList ID="drpOperation" Width="150px" runat="server">
        </asp:DropDownList>
    </td>
    <td>
        <asp:DropDownList ID="drpCondition" Width="150px" runat="server">
            <asp:ListItem Text="Or" Selected="True" Value="0"></asp:ListItem>
            <asp:ListItem Text="And" Value="1"></asp:ListItem>
        </asp:DropDownList>
    </td>
    <td>
        <asp:TextBox ID="txtSearchText" runat="server" Width="150px"></asp:TextBox>
        <asp:TextBox ID="txtDateSearch" CssClass="myClass" runat="server" Width="150px"></asp:TextBox>
    </td>
    <td>
        <asp:Button ID="btnAddConditionToSearch" runat="server" Text="AddToSearch" OnClick="btnAddConditionToSearch_Click" />
    </td>
</tr>
<tr>
    <td colspan="5">
        &nbsp;
    </td>
</tr>
</table>

Page的代码是:

  <form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
    <Search:ctrlSearch ID="cntrlSearch" runat="server" />
</div>
</form>

Jquery代码是:

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


    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_initializeRequest(InitializeRequest);
    prm.add_endRequest(EndRequest);
    // Place here the first init of the DatePicker   

    $('.myclass').datepicker();


});

function InitializeRequest(sender, args) { }
function EndRequest(sender, args) {
    // after update occur on UpdatePanel re-init the DatePicker 

    $('.myclass').datepicker();


}

请帮助我,

5 个答案:

答案 0 :(得分:2)

通过类选择器找到您的日期选择器。这比尝试定位ID要容易得多。如果您将控件夹在更新面板中,则有两次初始化datepicker两次。执行此操作

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


        var prm = Sys.WebForms.PageRequestManager.getInstance();
        prm.add_initializeRequest(InitializeRequest);
        prm.add_endRequest(EndRequest);
        // Place here the first init of the DatePicker   

        $('.myclass').datepicker();


    });

    function InitializeRequest(sender, args) { }
    function EndRequest(sender, args) {
        // after update occur on UpdatePanel re-init the DatePicker 

        $('.myclass').datepicker();


             }
</script>

Markup`

  <asp:TextBox ID="txtDateSearch" CssClass="myClass" runat="server" Width="150px"></asp:TextBox>

查看演示文件here

答案 1 :(得分:1)

像这样检查

$("#<%=txtSearchText.ClientID%>").datepicker();

答案 2 :(得分:0)

我认为你的问题是因为asp.net会更改名称和嵌入在Controls&amp ;;中的元素的ID。母版等。

打开页面源,找到控件并仔细检查ID。

或者作为替代方案,为元素添加一个css类,并使用jQuery查找而不是ID。

JA

答案 3 :(得分:0)

访问此页面jquery-ui-datepicker - &gt;这是ui代码。将此代码块保存为js文件。然后在你的aspx页面上找到它。

<script src="js/jquery.ui.datepicker-tr.js" type="text/javascript"></script> like this.

$(document).ready(function () {

$('#<%=txtBirthday.ClientID%>').datepicker({
                changeMonth: true,
                changeYear: true,
                yearRange: "-100:-17",
                defaultDate: new Date(1980, 01, 01)
            });

});

以下是示例代码。

答案 4 :(得分:0)

<asp:Label ID="Label1" runat="server" Text="From"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

<asp:Label ID="Label2" runat="server" Text="To"></asp:Label>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
  $(function() {
    $( "#TextBox1" ).datepicker();
  });
  $(function() {
    $( "#TextBox2" ).datepicker();
  });
</script>