jQuery найти целое число и добавить десятичную - PullRequest
0 голосов
/ 29 мая 2009

Необходимо выбрать параметры выпадающего списка SELECT и определить, являются ли какие-либо значения целыми числами, затем добавить .00 к параметру списка значений. нужно также изменить значение.

<select>
  <option value="1">1</option>
  <option value="1.99">1.99</option>
  <option value="2.99">2.99</option>
  <option value="4">4</option>
</select>

Заранее спасибо за любую помощь в этом

Ответы [ 2 ]

6 голосов
/ 29 мая 2009

Не вполне уверен, что это лучший способ, но он работает:

$('option', '#myselect').each(function() {
    if($(this).val() == parseInt($(this).val(), 10)) {
         var x = $(this).val() + '.00';
         $(this).val(x).text(x);
    }
});

Демо .

Если подумать, вы также можете сделать это, используя toFixed, что чище:

$('option', '#myselect').each(function() {
    var x = Number($(this).val()).toFixed(2);
    $(this).val(x).text(x);
});

Демо .

1 голос
/ 29 мая 2009

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

http://code.google.com/p/jquery-utils/wiki/StringFormat

Тогда это будет так же просто, как: $ .format ('{a: .2f}', {a: '1'})

...