目前,我参与制定了一项计划申请。在此应用程序中,我们希望确保用户能够非常快速地插入时间。所以这是我的计划(见下面的JSfiddle链接):
我希望我的用户点击其中一个空表单元格并显示一个文本字段,用户可以填写2个时间标记,一个来自,一个直到。用户按下回车键后,时间将保存为与文本字段出现位置相同的div。这部分已经在你的小提琴中看到了:
https://jsfiddle.net/rhantink/jm294oLk/3/
var tableFunctions = {
"createTimeBox": function () {
var timeBox = document.createElement("input");
$(timeBox).addClass("timeBox");
$(timeBox).attr('type', 'text');
$(timeBox).keypress(function (e) {
if (e.which == 13) {
var timeEntry = tableFunctions.createTimeEntry($(this).val());
$(".timeBox").replaceWith(timeEntry);
console.log(this);
}
});
return timeBox;
},
"createTimeEntry": function (textEntry) {
var timeEntry = document.createElement("div");
$(timeEntry).addClass("timeEntry");
$(timeEntry).text(textEntry);
return timeEntry;
}
}
var scheduler = {
"Applicatie": 'HRM2.0',
"init": function () {
console.log('Init');
$(".day").click(function () {
$('.timeBox').remove();
var timeBox = tableFunctions.createTimeBox();
$(this).append(timeBox);
$(timeBox).focus();
})
}
}
$(document).ready(
scheduler.init()
)
然而......用户需要能够输入' 12-16'或者' 1200-1600'然后按Enter键。使用javascript我想做一个翻译,它会让时间出现在div中,如12:00-16:00和#39;后来我也希望他们输入' 9-17c'在哪里' c'代表当然,这意味着他们在某个课程中使用了那个时间窗口。 我的问题是: 有没有任何javascript框架可以让这更容易,或者是否有人可以指出我正确的方向开发这样的东西?
也可以随意评论我的编码。
谢谢,
罗伯特
答案 0 :(得分:1)
您应该使用Regular Expressions。您可以测试用户使用特定模式编写的内容,如果匹配,您可以进行翻译。
例如测试'12 -16'字符串:
if(/([0-9]{2})-([0-9]{2})/.test($('#inputID').val()))
//do your thing
这是关于正则表达式的小fiddle。