簡體   English   中英

datepicker使用jQuery在asp.net中僅可見一次

[英]datepicker only visible once in asp.net using jquery

我正在為aspx頁中的日期字段添加日期選擇器。 我要在此處完成的操作是將datepicker附加到輸入的ID。 這些字段是動態創建的。 我在日期選擇器上遇到問題,因為這是我第一次單擊輸入時可見的,但直到頁面刷新后才會再次顯示。 我將不勝感激任何幫助。 這是我嘗試過的。

我的輸入字段:

<input name="ctl00$MainContent$SubsModifier$tbDate" type="text" value="06/21/2016"  onchange="javascript:setTimeout('__doPostBack(\'ctl00$MainContent$SubsModifier$tbDate\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="ctl00_MainContent_SubsModifier_tbDate" class="form-control">

jQuery的:

$(function () {
    $("[id*=tbDate]").datepicker({
        buttonImageOnly: true,
        buttonImage: 'http://jqueryui.com/resources/demos/datepicker/images/calendar.gif'
    });
});

我已經注意到“ hasDatePicker”在類中是第一次可見的,並且當我從datepicker中選擇一個日期時將其刪除。

我看到您有class = "form-control"作為輸入屬性。 添加其他偽類class = "form-control date-picker" ,然后嘗試:

$(".date-picker").datepicker();

您可以嘗試將方法包裝在函數中

function RunMeAfterControlsAreGenerated() {
    $("[id$=tbDate]").datepicker({
        buttonImageOnly: true,
        buttonImage: 'http://jqueryui.com/resources/demos/datepicker/images/calendar.gif'
    });
}

在“隱藏代碼”上動態生成控件之后,請調用它

ScriptManager.RegisterStartupScript(this, this.GetType(), "RunMe", "RunMeAfterControlsAreGenerated();",true);

感謝@Felipe Deguchi和@arturas的幫助。 我將arturas答案修改為以下內容,並且按預期工作。 這是我所做的。

$('body').on('focus', ".date-picker", function () {
    $(".date-picker").datepicker();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM