文本框不会使用 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"> 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 更改,则更新某个文本框