Необходимо обновить, чтобы предварительно установить флажок, в зависимости от значения MongoDB

#javascript #jquery #ajax

#javascript #jquery #ajax

Вопрос:

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

 function populateMonitization(data) {
  if (data.monetization) {
    if (data.monetization.avod amp;amp; data.monetization.avod.is_video_ads == true) {
      $('#avod_is_video_ads').prop('checked', true);
      $('#avod').prop('checked', true);
    }

    if (data.monetization.avod amp;amp; data.monetization.avod.is_display_ads == true) {
      $('#avod_is_display_ads').prop('checked', true);
      $('#avod').prop('checked', true);
    }

    if (data.monetization.avod amp;amp; data.monetization.avod.is_no_ads == true) {
      $('#avod_is_no_ads').prop('checked', true);
      $('#avod').prop('checked', true);
    }

    if (data.monetization.svod amp;amp; data.monetization.svod.svod_is_video_ads == true) {
      $('#svod_is_limited_video_ads').prop('checked', true);
      $('#svod').prop('checked', true);
    }

    if (data.monetization.svod amp;amp; data.monetization.svod.is_display_ads == true) {
      $('#svod_is_display_ads').prop('checked', true);
      $('#svod').prop('checked', true);
    }

    if (data.monetization.svod amp;amp; data.monetization.svod.is_no_ads == true) {
      $('#svod_is_no_ads').prop('checked', true);
      $('#svod').prop('checked', true);
    }
  }

  if (data.monetization amp;amp; data.monetization.tvod != null) {
    $('#tvod').prop('checked', true);
    $('#price_inr').val(data.monetization.tvod.price_inr);
    $('#price_usd').val(data.monetization.tvod.price_usd);
  }
}
  

Комментарии:

1. Логика, которую вы показали, кажется прекрасной, хотя ее можно было бы сделать более сухой. Как вы извлекаете значение из mongo? При каком событии вы запускаете этот код?

2. @RoryMcCrossan Эта функция вызывается при загрузке страницы, и я получаю правильные данные в ответ на ajax

3. Похоже, вам нужно запустить эту логику при обратном вызове запроса AJAX.