【问题标题】:How to change html id into variable Laravel如何将 html id 更改为变量 Laravel
【发布时间】:2020-07-01 11:35:57
【问题描述】:

我有这段 html 代码行 <span id="mycount"></span> 显示来自数据库的实时数据(数字),所以假设它显示来自数据库的 5。我想做的是使用像this@if(5 > 0)这样的if语句。那么是否可以将id="mycount" 更改为变量或任何其他方式以便我可以使用 if 语句?

HTML

<span id="mycount"></span>  //This displays 5

我想要这样的东西

 @if(5 >0)
 //display data
 @else
 @endif

Javascript

function getCount() {
$.ajax({
type: "GET",
url: '{{route('live.review')}}',
success: function(data) {
    $('#mycount').html(data);
   setTimeout(getCount, 1000);
}
});

}
getCount();

【问题讨论】:

  • 您已经向服务器发出 AJAX 请求以获取值,请将 if 条件放入其中。
  • 怎么样? @RoryMcCrossan

标签: javascript php jquery laravel laravel-5


【解决方案1】:

您可能不想使用刀片来处理这种情况,因为您在前端使用 ajax 来控制 DOM 的这个组件。我将在您的情况下使用的替代方法是:

const axios = require('axios');

async function getCount() {
 try {
   const data = axios.get('{{route('live.review')}}');
   const elCount = document.getElementById('#mycount');
   if (data > 0) {
     // const elText = document.createTextNode(data);
     // elCount.appendChild(elText);
     elCount.style.visibility = 'visible';
     elCount.innerHTML(data);
     return;
   }
   elCount.style.visibility = 'hidden';
 } catch (e) {
   window.console.error('Error! ', e.message);
 }
}

setTimeout(getCount, 1000);

使用 Ajax

function getCount() {
  jQuery.ajax({
    type: 'GET',
    url: '{{ route("live.review") }}',
    success: (data) => {
      const elCount = jQuery('#myCount');
      if (data > 5) {
        elCount.html(data);
        elCount.show();
        return;
      }
      elCount.hide()
    },
    error: (error) => {
      window.console.error('Error! ', error.message)
    },
  });
}

setTimeout(getCount, 1000)

确定你的请求的回报总是好的,所以,为了保证,每次你提出请求时,把请求的结果拍个日志,只是为了保证window.console.log(data)(在开发环境中当然!)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 2021-11-25
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多