Как дать значение по умолчанию? - PullRequest
1 голос
/ 26 сентября 2019

У меня есть следующий код:

  $.ajax({
    url: "<!--#include virtual="../include/env"-->/log_rank/" +  $('#time_filter').text(),
    type: "GET",
    cache: "false",
    success: function(data) {
      rank(data);
    },
    dataType: "json"
  });

Бывают случаи, когда следующий идентификатор "$('#time_filter')" не имеет значения.Как мне установить это так, чтобы всякий раз, когда этот идентификатор был нулевым, он равнялся URL, который будет называться "..... / log_rank / all?

Ответы [ 4 ]

1 голос
/ 26 сентября 2019

В качестве альтернативы, поскольку пустая строка является «ложной», вы можете использовать оператор «короткое замыкание» или::

var filterText = $('#time_filter').text() || 'all';

$.ajax({
  url: '<!--#include virtual="../include/env"-->/log_rank/' +  filterText,
  type: "GET",
  cache: false,
  success: function(data) { rank(data); },
  dataType: "json"
});

См. Также: https://dev.to/flexdinesh/short-circuit-assignment-in-javascript--4k80

1 голос
/ 26 сентября 2019

С помощью этого троичного опаратора вы можете проверить значение и решить, что добавить:

($('#time_filter').text() == '' ? 'all' : $('#time_filter').text())

реализовано в вашем фрагменте:

$.ajax({
    url: "<!--#include virtual="../ include / env"-->/log_rank/" +  ($('#time_filter').text() == '' ? 'all' : $('#time_filter').text()),
    type: "GET",
    cache: "false",
    success: function (data) {
        rank(data);
    },
    dataType: "json"
});
1 голос
/ 26 сентября 2019

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

var filterText = $('#time_filter').text(),
    urlSlug    = (filterText == '') ? 'all' : filterText;

$.ajax({
  url: '<!--#include virtual="../include/env"-->/log_rank/' +  urlSlug,
  type: "GET",
  cache: false,
  success: function(data) { rank(data); },
  dataType: "json"
});
0 голосов
/ 26 сентября 2019

Вы можете добавить троичный оператор в виде:

$('#time_filter').text().length > 0 ? $('#time_filter').text() : 'all';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...