- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试绑定(bind) value=".."
-来自 <input>
的属性-字段到 JsViews 可观察,这样 JsView 框架就会检测到 JS 日期选择器所做的更改。
示例
在初始渲染时,数据链接的 observedDate 参数显示在 <input>
中-字段:
<input class="flatpickr-calendar" type="text" data-link="observedDate">
然后,使用 flatpickr 选择新日期javascript 工具,新日期将存储在 value=".."
中-字段:
<input class="flatpickr-calendar" type="text" data-link="observedDate" value="2017-05-09">
问题
现在,observedDate 处理的日期与 value 属性之间存在差异:
JsViews 未检测到值属性的更改。
<小时/>有人对如何处理这种情况有一些建议吗?谢谢。
最佳答案
您需要一个事件 onChange更新值observedDate
。
例如,您可以这样做:
$(".flatpickr").flatpickr({
onChange: function(selectedDates, dateStr, instance) {
$.observable($.view(this.input).data).setProperty("observedDate", dateStr);
},
});
或者您可以创建自定义标签:
$.views.tags({
flatpickr: {
template: "<input/>",
onUpdate: false,
dataBoundOnly: true,
flatpickr: null,
isChange: false,
changeEvent: function (selectedDates, dateStr, instance) {
this.isChange = true;
this.update(dateStr);
this.isChange = false;
},
onDispose: function () {
if (this.flatpickr) {
this.flatpickr.destroy();
}
},
onAfterLink: function (tagCtx, linkCtx) {
var tag = this;
var props = tagCtx.props;
var options = {
defaultDate: tagCtx.args[0]
};
if (tag._.unlinked) {
if (!tag.linkedElem) {
tag.linkedElem = tag._.inline ? tag.contents("*").first() : $(linkCtx.elem);
}
$.each(props, function (key, prop) {
var option;
if (key.charAt(0) === "_") {
key = key.slice(1);
options[key] = prop;
}
});
options.onChange = $.proxy(tag.changeEvent, tag);
this.flatpickr = tag.linkedElem.flatpickr(options);
} else {
if (!this.isChange) {
this.flatpickr.setDate(options.defaultDate)
}
}
}
}
});
并使用:
{^{flatpickr observedDate /}}
支持Flatpickr options :
{^{flatpickr observedDate _inline=true _maxDate='2018-05-01' _minDate='2017-05-01'/}}
关于javascript - 将输入字段中的值属性绑定(bind)到 JsViews Observables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43870990/
当我尝试传递具有数字属性的 JavaScript 对象时 { 1: "One", 2: "Two", 3: "Three" } 数据绑定(bind)不呈现属性值,仅呈现示例中的数字 $.templat
使用 JsViews是否可以在数据链接属性中将转换器置于辅助函数之前?有点像这样.. 谢谢! 最佳答案 如果你的意思是想让转换器把你的数据对象的param1字段的值进行转换,然后传递给myConve
我对 jsviews 有疑问。我想绑定(bind)一个元素数组。每个元素都是一个对象。元素是动态添加的。每个元素的一个字段的值基于另一字段计算。怎样才能不每次都刷新数组呢? js: model = {
我正在 JsViews 站点中查看按钮的以下示例 http://www.jsviews.com/#link-button 。当我修改代码以获取输入并在单击按钮时在警报框中显示相同的内容时,辅助函数将在
我喜欢使用 jsviews 绑定(bind)在我的页面上显示两个摘要数据。用户界面将类似于屏幕截图。 用户可以在列表中添加/删除人员,这会影响“人数”的值,并且用户可以在文本框中编辑整数值,总计值将显
简单问题:我正在使用 jsViews 来呈现 HTML 模板。我想要某种翻译。现在我的应用程序返回全局变量“语言”,其值等于:pl || zh || 德。 如何使用全局变量“语言”来减少负责翻译的 J
是否可以从 JsViews 中的数据链接函数中访问父数据? {^{for sections}} ... {^{for itemTypes}} {^{:labe
我有一个字符串数组和一个其属性派生自该数组的对象。例如, var arrayOne = ["One","Two", "Three"]; var objOne = {}; for(var i=0;i {
我想使用JsViews播放html5视频内容,如下所示: html: change muted js: var data = { src:
我想为 html 元素定义一个唯一的 id,我必须将其作为辅助函数的参数传递。 唯一的 ID 是使用另一个辅助函数 (genearteUniqueId) 正确生成的,但我无法将其存储在变量中以重用它并
当底层数据发生变化时,我遇到了 JSViews 模板更新的问题。它涉及使用转换器函数将数据链接到基础数据的跨度。当异步回调到服务器后底层数据发生变化时,跨度文本不会更新。 标记: {^{for the
所以,我只是想在“if”语句中将 int 转换为 bool。我不确定如何实现这一目标。我正在玩的代码如下。 JsFiddle code here HTML: // te
我打算将 JsRender 用于我的单页应用程序,我正在考虑是否应该使用 JsViews 或 Knockout。 JsViews 尚未达到测试版,但两者在速度和功能方面的主要区别是什么? 谢谢! 最佳
我使用 JsViews + spectrumjs colorpicker我必须像这样创建自定义标签: $.views.tags({ spectrum : { template
我有一个像这样的 Javascript 对象字面量 test : { length: 3, text: "Please enter 3 characters" } 我想让文本根据长度动态呈现
我正在编写一个小型 javascript 游戏...为了设置游戏中时间,我有一个变量来保存当前游戏中的日期和时间,我想显示此日期和每秒,以小时为单位增加该日期。 我正在使用 JSViews 进行数据绑
我正在尝试使用 JsViews 为内部循环中的复选框进行双向绑定(bind) 不确定这是否可行。 {^{:text}} {^{for answers ~fieldName=fie
所以 jQuery 模板永远不会超过 beta 版并且 jsRender和 jsViews应该填补空白。我查看了 Boris Moore 发布的示例上this page但我不明白 jsRender 和
我想知道为什么似乎无法正确地记录下来。我在 MVC 中有一个 JSONResult 返回“Job”对象的集合。 “Job”对象的属性之一是字典。我似乎无法弄清楚如何将其添加到“作业”实体模板中,以便我
我使用 jsViews 创建了一个表/网格。每行都有一个编辑按钮,单击该按钮会选择该行并显示输入控件而不是文本值。 如果我使用 data-link="visible{:#parent.parent.d
我是一名优秀的程序员,十分优秀!