заменить число на строку с помощью замены jquery - PullRequest
1 голос
/ 21 апреля 2011

Мой вопрос связан с этой темой здесь.

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

Мой php возвращает число в этом формате, например, 1.27

В зависимости от диапазона это число должно быть заменено определенной строкой, соответствующей диапазону:

Пример:

Число 1,27 находится в «активном» диапазоне от 1,0 до 1,5, поэтому заменой этого будет строка «активный». Значение 1,51 будет в «менее активном» диапазоне от 1,5 до 2,0, а замещающая строка будет «менее активной».

Любые идеи высоко ценятся

Ответы [ 3 ]

3 голосов
/ 21 апреля 2011

Доступ к тексту на странице может быть сделан с помощью jQuery, но остальная часть кода является простым Javascript.

Вы можете использовать регулярное выражение, чтобы найти число, затем использовать функцию, которая определяет, чем его заменить, что-то вроде этого:

var element = $('#id');
element.text(element.text().replace(/[\d\.]+/g, function(s){
  var n = parseDouble(s);
  if (n >= 1.0) {
    if (n <= 1.5) return "active";
    if (n <= 2.0) return "less active";
  }
  return s;
}));
1 голос
/ 21 апреля 2011

К сожалению, вы не можете сделать это с помощью одной строки кода.Вам нужно сделать что-то вроде следующего:

$(".number").each(function(){
    var elm = $(this);
    var number = parseFloat(elm.text(), 10);
    if (number >= 1 && number <= 1.5) {
        state = "active";
    } else if (number >= 1.5 && number < 2) {
        state = "less active";
    }
    elm.text(state);
});

См. Приведенный выше пример на jsFiddle

0 голосов
/ 21 апреля 2011

Я не понимаю, при чем тут jQuery, но на самом деле это довольно просто ...

var state = 'Default';
if(value > 1 && value < 1.5)
 state = 'Active';
else if(value < 2)  
 state = 'Less active';
else if(value < 3)
 state = 'Sleeping';

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...