2015-07-09 10 views
0

На данный момент я участвую в создании приложения для планирования. В этом приложении мы хотим убедиться, что наши пользователи могут вставлять время очень быстро. Итак, вот мой план (см. Ссылку JSfiddle ниже):Javascript: Краткосрочная нотация

Я хочу, чтобы мои пользователи нажимали на одну из пустых ячеек таблицы и появлялось текстовое поле, пользователь может заполнить 2 timemarks, один от и один до , После того, как пользователи нажмут клавишу ввода, время будет сохранено как 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“, а затем нажмите Ввод. С javascript я хочу сделать перевод, который заставит время появиться в div как '12: 00 - 16:00 '. Позже я также хочу, чтобы они набрали «9-17c», где «c» означает курс, то есть они использовали это временное окно для некоторого курса. Мой вопрос: Есть ли какая-нибудь инфраструктура javascript, которая делает это проще или есть кто-то, кто мог бы указать мне в правильном направлении с развитием чего-то подобного?

Также не стесняйтесь комментировать меня в моем кодировании.

Спасибо,

Роберт

ответ

1

Вы должны использовать Regular Expressions. Вы можете проверить, что пользователь пишет с определенным шаблоном, и если он соответствует, вы можете выполнить свой перевод.

Например, чтобы проверить '12 строк -16' :

if(/([0-9]{2})-([0-9]{2})/.test($('#inputID').val())) 
    //do your thing 

Вот небольшой fiddle о регулярных выражениях.

+0

Thx для скрипки. – Robert

 Смежные вопросы

  • Нет связанных вопросов^_^