Получить идентификатор текстового поля из заполнителя содержимого в функции jquery

Я использую JQUERY UI для своих веб-страниц. Я пытаюсь использовать элемент управления DatePicker. Проблема в том, что функция jquery не принимает идентификатор текстового поля. Это работает, когда я объединяю идентификатор заполнителя контента с идентификатором текстового поля.

<asp:Content ID="PassportContent" ContentPlaceHolderID="CPH001" runat="server">
<div class="form-group">
    <label>Date Of Birth</label>
    <asp:TextBox ID="datepicker" runat="server" CssClass="txt-control"></asp:TextBox>
</div>
</asp:Content>

фактический код JQuery

<script src="../jquery/external/jquery/jquery.js"></script>
<script src="../jquery/jquery-ui.min.js"></script> 
<script>
    $(function () {
        $("#datepicker").datepicker();
    });
</script>

рабочий код JQuery

<script>
    $(function () {
        var temp = document.getElementById('<%= datepicker.ClientID %>').value;
        alert(temp);
        $("#CPH001_datepicker").datepicker();
    });
</script>

Когда я искал на форумах, большинство решений предложили использовать document.getElementByIdЯ попытался получить идентификатор, используя >>

document.getElementById('<%= datepicker.ClientID %>').value; но окно предупреждения показывает NULL.

  1. Как решить эту проблему?
  2. Когда я храню свой js-код в отдельном файле, как решить эту проблему?

Как и предполагалось, я использовал $("[id$=datepicker]").datepicker();, И это работает, я получаю DatePicker. Но я не могу изменить формат даты и ограничить диапазон дат. Пожалуйста, предложите.

<script>
    $(function () {
        $("[id$=datepicker]").datepicker();        

        $("[id$=datepicker]").datepicker({ dateFormat: 'ISO 8601 - yy-mm-dd' }); // not working
    });
    // not working
    $("#format").change(function () { $("[id$=datepicker]").datepicker('ISO 8601 - yy-mm-dd', "dateFormat", $(this).val()); });
</script>

2 ответа

Решение

Когда отображается страница контента Textbox Изменения id. использование Textbox это так

<script>
$(function () {
    $("[id$=datepicker]").datepicker();
});
</script>

См. Как использовать JQuery с мастер-страницами?

Попробуйте это с полем ввода, ваш код правильный:

<input type="text" id="datepicker" runat="server" CssClass="txt-control" />

Я не уверен, может ли jquery обработать тег "asp:TextBox" или он будет заменен?

Другие вопросы по тегам