Elm-从js更新日期输入字段不起作用
Elm - Update date input field from js does not work
我正在使用elm进行一个项目,但目前我遇到了以下问题:我想更新elm 生成的输入字段
newDate address =
header
[ id "header" ]
[ input
[ id "datePicker"
, autofocus False
, type' "date"
, onEnter address Add
]
[]
]
我最初的想法是将.elm代码与html集成,我成功地做到了这一点,使我能够创建自定义的js脚本来与dom交互。
但是,添加以下脚本(将日期设置为当前日期)时,似乎不会更新日期字段。
$(document).ready( function() {
var now = new Date();
var day = ("0" + now.getDate()).slice(-2);
var month = ("0" + (now.getMonth() + 1)).slice(-2);
var today = now.getFullYear()+"-"+(month)+"-"+(day) ;
$('#datePicker').val(today);
});
但是,如果我在浏览器控制台中执行这些代码,它确实有效。
有什么想法吗?
提前感谢!
-K
添加:应要求将elm集成到html 中
<html>
<head>
<title>Embedded Elm</title>
<script type="text/javascript" src="elm.js"></script>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
</head>
<body>
<div id="main" style="width:50%; height:400px;"></div>
</body>
<script type="text/javascript">
var mainDiv = document.getElementById('main');
Elm.embed(Elm.Main, mainDiv);
$(document).ready( function() {
var now = new Date();
var day = ("0" + now.getDate()).slice(-2);
var month = ("0" + (now.getMonth() + 1)).slice(-2);
var today = now.getFullYear()+"-"+(month)+"-"+(day) ;
$('#datePicker').val(today);
});
</script>
</html>
我想我最初的直觉是准确的,即Elm.embed
的行为比我们希望的更异步,并且ready
回调在元素出现在DOM中之前就启动了。观察调试器中的事件序列以验证这一点是值得的。
编辑:我自己刚刚快速查看了一下,看起来就像第一个elm帧可以通过调用embed
同步渲染。您确信应用程序的初始状态会导致包含该表单组件吗?
在任何情况下,如果你想实现的是用当前日期初始化字段一次,这个问题可能很有用:用当前日期初始化模型
编辑2:另一件可能导致某些问题的事情是在<body>
标记关闭后包含<script>
标记。这个问题似乎表明这不是一个好主意;也许您也可以尝试在<body>
关闭之前包含它?
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 如何在HTML输入字段中添加不可删除的后缀
- 互斥单选按钮和相应的输入字段
- 在IE9中的输入字段中输入焦点最近按钮
- 选中单选框时将属性添加到输入字段
- 当设置addFromAutocompleteOnly时,剩余文本将保留在输入字段中
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 输入字段将't获取更新的值
- 如何选择多个输入字段并删除所需的属性
- 输入字段,只接受0到12之间的数字
- 单击鼠标,用MySQL数据填充html表单输入字段
- 使用jquery将输入字段转换为文本
- Model中的Typeahead返回空值以形成输入字段
- 如何从查询字符串中的输入字段发回文本
- 如何验证日期、月份和日期的3个独立输入字段;年使用jquery或javascript
- 将值传递给jquery创建的输入字段