我需要一些关于监控文本框值更改的帮助。
以下是该场景:我有一个表单,其中包含一些由javascript日历填写的文本框。一旦我选择日期日历,就会在日期中填充文本框。但是,文本框永远不会成为焦点。现在,我需要检查文本框中的值,因为文本框很快就会从日历中获取信息。基本上原因是我需要比较日期并确认日期2不低于日期1.
OnChange
,OnBlur
,OnKeyup
事件对我正在尝试的事情不起作用。我的意思是,如果我使用它们就可以工作但不是我需要的。
我尝试了一些代码,但由于某种原因,事件永远不会启动或从不检测到更改。
以下是我正在尝试做的一些例子:
$('#date2').bind('input', function() {
/* This will be fired every time, when textbox's value changes. */
} );
和
jQuery('#date2').on('input', function() {
// do your stuff
});
有没有办法做到这一点?任何帮助都非常感谢。
答案 0 :(得分:0)
我想我明白你的意思,我会尽力把你推向正确的方向。当日历将信息输入文本框时,您希望从文本框中读取信息吗?
一个简单的jquery命令,可用于提供自动对焦。虽然只有一件事可以同时聚焦,所以你不能把它设置成多个项目。
$(function() {
$("#date2").focus();
});
当某些内容获得焦点时,您也可以调用en事件。比如将字符串输入到文本框中。这可以用于多个项目。
$(selector).focus(function)
选择器是您的元素ID,而函数是您想要发生的任何事情。
有关详细信息,请参阅链接。
修改强>
这不是你的领域
displayArea: ".siblings('.dtcDisplayArea')"
是为了?日期应放在那里。为什么你不能从那里抓住它或改变它以便将它放入你的文本框?
答案 1 :(得分:0)
如果您不需要支持旧浏览器,则可以使用Mutation Observers。
答案 2 :(得分:0)
这就是我要做的事情:
单击日历图标后,您可以选择日期。选择日期后,您可以使用此代码将日期传递给名为“Fecha Vencimiento”的文本框。这是代码:
<script type="text/javascript">
$(document).ready(function () {
$("#<%=txtFechaVencimiento.ClientID %>").dynDateTime({
showsTime: false,
//ifFormat: "%Y/%m/%d %H:%M",
//ifFormat: "%Y/%m/%d",
ifFormat: "%d/%m/%Y",
daFormat: "%l;%M %p, %e %m, %Y",
align: "BR",
electric: false,
singleClick: false,
displayArea: ".siblings('.dtcDisplayArea')",
button: ".next()"
});
$("#txtFechaVencimiento").focus();
});
</script>
焦点不适用于该文本框。
答案 3 :(得分:0)
我发现根本不需要这部分代码。 Se评论说:
Table B
最后一行按钮:“next()”是调用日期并将其放入文本框的按钮。这是我正在使用的日历:http://www.aspsnippets.com/Articles/DateTimePicker-control-for-ASPNet-TextBox-Example.aspx