серийный формат jquery - PullRequest
       14

серийный формат jquery

0 голосов
/ 06 апреля 2010

У меня есть веб-сайт, который предлагает пользователям ввести серийный номер для продукта.

У меня есть одно текстовое поле, и пользователю необходимо ввести серийный номер в следующем формате:

xx:xx:xx:xx:xx:xx

Есть ли компонент, который будет вводить : после каждых двух символов?

Или, может быть, я должен разделить текстовое поле на 6 текстовых полей?

В качестве альтернативы, вы можете предложить какие-либо другие методы?

Ответы [ 3 ]

6 голосов
/ 06 апреля 2010

Вы можете попробовать этот плагин jquery , это фактически поле редактирования в маске, вы должны быть в состоянии установить свой шаблон и иметь входные данные, я настоятельно рекомендую вам проверить демонстрационную вкладку. 1003 *

Код кажется очень простым для реализации, ваш будет:

jQuery(function($){
    $("#serial").mask("99:99:99:99:99:99",{placeholder:"_"});
});

Конечно, если ваш серийный номер требует буквенно-цифрового ввода, используйте * вместо 9.

http://digitalbush.com/projects/masked-input-plugin/#demo

В качестве альтернативы вы можете использовать 6 полей ввода, я уже видел это, и это может выглядеть довольно хорошо, я думаю, это зависит от личных предпочтений.

2 голосов
/ 06 апреля 2010

Если вы обнаружите, что плагин будет перегружен, что-то вроде этого будет очень просто создать в jQuery.

Я смоделировал реализацию, которая проверяет, делится ли значение (удаление двоеточий) на 2, и, если это так, добавляет двоеточие к значению:

$(document).ready(function() {

  $('#serial').keyup(function() {
    var $this = $(this);
    if($this.val().replace(/:/g, '').length % 2 == 0) {
      if($this.val().length >= 17) return;
      $this.val($this.val() + ':');
    } 
  });

});​

Рабочий пример

0 голосов
/ 06 апреля 2010

Вы можете использовать любой маска-плагин для jQuery. Может быть, это ?

...