文本框不会使用 jquery datepicker 获取选定的日期

Posted

技术标签:

【中文标题】文本框不会使用 jquery datepicker 获取选定的日期【英文标题】:Textbox won't get selected date using jquery datepicker 【发布时间】:2016-02-29 08:50:51 【问题描述】:

源代码:

<script src="Scripts/jquery.min.js"></script>
<script src="Scripts/bootstrap.js"></script>
<script src="Scripts/bootstrap-datepicker.min.js"></script>
<script type="text/javascript">

脚本:

 $(function () 
        $("#datetimepicker1").datepicker( dateFormat: "yy-mm-dd" );
        $("#datetimepicker1").on("change", function () 
            var selected = $(this).val();
            $("<%=txtDate.ClientID %>").val(selected)
        );
    );
</script>

设计师:

        <div class="form-group">
            <label for="txtDate" class="control-label col-sm-2 col-md-2 col-lg-2">&nbsp;&nbsp;&nbsp;preferred date </label>
            <div class="col-sm-4 col-md-4 col-lg-4 col-xs-10">
                <asp:TextBox ID="txtDate" runat="server" CssClass="form-control datepick"></asp:TextBox>
            </div>
            <div class="col-sm-2 col-md-2 col-lg-2 col-xs-2">
                <button type="button" id="datetimepicker1" class="common-button2"><span aria-hidden="true" class="glyphicon glyphicon-calendar"></span></button>

            </div>
        </div>

好的,问题是,日历弹出,但文本框不会得到选定的日期,所有脚本都包括在内并且没有错误。请帮忙谢谢!

编辑:使用 因为我的页面有一个母版页。

【问题讨论】:

添加datepicker的代码在哪里 嗨@coder 已编辑,请看谢谢! 如果您使用母版页,则通过从浏览器中检查元素来获取 ID 已经这样做了,不返回任何内容@coder 【参考方案1】:
$("<%=txtDate.ClientID %>").val(selected)

不是一个有效的 jquery 选择器

你想要

   $("#txtDate").val(selected)

【讨论】:

【参考方案2】:

如果您不使用任何母版页,那么只需编写

$("#txtDate").val(selected);

否则

$("#<%=txtDate.ClientID %>").val(selected);

'#' 很重要,因为它表明这是一个 id。

【讨论】:

【参考方案3】:

您的datepicker 太难使用了。

这是一个简单的解决方案

<p>
        Date:
        <input type="text" id="datepicker"></p>

JS:-

 <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>
<link rel="stylesheet" href="/resources/demos/style.css">

见Working demo

更新

$(function () 
        $("#Id generated by inspecting element from browser").datepicker();
    );

【讨论】:

那么您需要添加一些有关您的代码的更多信息,因为您的文本框采用从母版页继承的 ID 不,文本框在内容页面上。 我说它是从母版页INHERITED。我没有在母版页上说它。谢谢。除非您提供有关代码的更多信息,否则抱歉,我们无法检测到您的问题并为您提供帮助。【参考方案4】:

jquery datepicker 在 onSelect 事件而不是 onChange 上返回所选值。试试这个

<script>
 $(function () 
        $("#datetimepicker1").datepicker( dateFormat: "yy-mm-dd" , onSelect: function(dateText) 
   $("<%=txtDate.ClientID %>").val(dateText)
  );

    );
</script>

【讨论】:

以上是关于文本框不会使用 jquery datepicker 获取选定的日期的主要内容,如果未能解决你的问题,请参考以下文章

将jquery datepicker添加到使用document.createElement()创建的输入文本框中

回发后jQuery将DatePicker日期文本保留到文本框中

如何使用今天的日期预先填充 jQuery Datepicker 文本框?

jQuery:如果 DatePicker UI 更改,则更新某个文本框

如何获取文本框输入旁边的 JQuery DatePicker 图标?

jQuery Datepicker 今天按钮不会在输入框中输入今天的日期