создание полей автоформатов подключаемого модуля jQuery по времени загрузки страницы - PullRequest
3 голосов
/ 08 июня 2010

Я возился с autoNumeric , плагином для jQuery, который форматирует валютные поля.

Я бы хотел подключить плагин, чтобы все поля валюты были отформатированы к тому времени, когда пользователь увидит страницу, например, при загрузке.

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

Я экспериментировал с кодом подключаемого модуля, и, похоже, этому относительному новичку понадобится некоторое время, чтобы решить эту проблему, если она вообще появится.

Кто-нибудь на этом?

Lille

Ответы [ 7 ]

5 голосов
/ 10 апреля 2012

Инициирующее событие 'focusout' форматирует поле. Инициирование «изменения» не работает в самой последней версии (1.7.4).

$('input.money').autoNumeric({aNeg: '-'}).trigger('focusout'); 
3 голосов
/ 24 августа 2010

autoNumeric выполняет все форматирование после срабатывания события onchange.Так что все, что вам нужно, это программно запустить это событие.Вот так:

$('input.money').autoNumeric({aNeg: '-'}).trigger('change');

Надеюсь, это поможет!

1 голос
/ 17 июня 2010

Я сам столкнулся с этой проблемой. Я должен был сделать это более общим, но это сработало для меня:

$('input.auto-numeric').ready(function(){
var format_options = {
    aSign: '$'  
};
$('input.auto-numeric').each(function(){
    $(this).autoNumeric(format_options);
    if($(this).attr('id')){
        $(this).val($.fn.autoNumeric.Format($(this).attr('id'), $(this).val(), format_options));
    }   
});

});

0 голосов
/ 20 июля 2017

В текущей версии 2.* и далее это делается по умолчанию благодаря опции formatOnPageLoad, установленной на true.

Это так просто;)

0 голосов
/ 15 декабря 2016

Другим способом принудительного форматирования является использование «update», например

$(".input-numeric").autoNumeric('update');
0 голосов
/ 30 августа 2010

Вот что я в итоге сделал:

$(document).ready(function(){

$('input.auto').autoNumeric();

    $('input.auto').each(function(){
    var element = this
    if(element.value !=""){
        $('#'+element.id).val($.fn.autoNumeric.Format(element.id, element.value));
        }

    }

     );
});
0 голосов
/ 12 июня 2010

Это должно работать.

jQuery(function($) {
$('input.auto').ready(function(){
    $('input.auto').autoNumeric();
    var inputID = uniqueID; // use the jQuery.get() function to retrieve data
    var formatValue = '1234.00'; // use the jQuery.get() function to retrieve data
    if(jQuery().autoNumeric){
        $('#id').val($.fn.autoNumeric.Format(inputID, formatValue));
    }
    else{
     alert('plugin not available');
    }
  });   
});

Bob

...