2011-12-15 2 views
1
// capture selling price change 
$('#frmFilters').on('change', 'input[name="sell[]"]', function() { 

    // define the tr that we want to pull form values from 
    var row = $(this).closest('tr'); 

    // set up values for form fields to pass through to ajax call 
    var sell = row.find('.sell').val(); 

    var pkID = row.find('.lineup').val(); 

    var sku = (row.find('.sku').map(function(){ 
     return this.name + '=' + this.value; 
    }).get().join('&')); 

    // do ajax call 
    $.ajax({ ... }); 

}) 

Из приведенного выше кода, который я хочу форматировать цена введенного в текстовое имя поля = продать [], который также имеет класс продать, чтобы всегда иметь 2 десятичные точкиFormat новые данные, введенные в текстовое поле

Как я могу добиться этого, пожалуйста,

ответ

1

вы можете использовать функцию яваскрипта toFixed(2) так, что она всегда имеет два десятичных

$('#frmFilters').on('change', 'input[name="sell[]"]', function() { 

    var numericVal = parseInt(this.value, 10); 
    numericVal = numericVal.toFixed(2); 
    //set the value of the input field to the formatted value 
    this.value=numericVal; 
}) 

EDIT - скрипку здесь с несколькими полями http://jsfiddle.net/LtR9N/2/

+0

спасибо, как мне настроить таргетинг на измененное поле формы, чтобы применить это? –

+0

@ I-CRE8 Я использую ключевое слово 'this', которое в этом случае относится к полю ввода, инициировавшему событие. Посмотрите на скрипку здесь http://jsfiddle.net/LtR9N/1/ –

+0

Я понимаю, как получить значение с помощью 'this', но мне нужно, чтобы значение в текстовом поле также менялось, поэтому, если я вхожу в 3 например, я хочу, чтобы текстовое поле отображалось 3.00 –

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