как динамически изменить цвет фона div в соответствии со значением, полученным из модели - PullRequest
0 голосов
/ 06 июля 2018

у меня есть один div, который выглядит зеленым, я хочу изменить цвет фона div в соответствии со значением статуса, полученным из модели,

<div class="panel-heading" style="background-color:#008E00">

if @Model[0].status=="Normal" - Green 
if @Model[0].status=="LOW" -yellow 
if @Model[0].status=="HIGH" - Red

код

<div class="panel-heading" style="background-color:#008E00">
                <h3 class="text-center">Xavier School, Nehru Rd</h3>
                <hr>
                DevEUI- @Model[0].deveui.ToUpper().Substring(11, 5) <span style="color:black"></span>
                <hr>
                <div class="row">
                    <div class="col-xs-4">
                        <img src="~/images/manhole1.png" class="img-responsive">
                    </div>
                    <div class="col-xs-4 text-right paddingtop20">
                        <div class="huge"><h2>@Model[0].status</h2></div>
                    </div>
                </div>
            </div>

Ответы [ 2 ]

0 голосов
/ 06 июля 2018
<div class="panel-heading" style="background-color:@(Model[1].status == "LOW" ? "yellow" : "green")" >
                <h3 class="text-center">main road </h3>
                <hr>
                DevEUI- @Model[0].deveui.ToUpper().Substring(11, 5) <span style="color:black"></span>
                <hr>
                <div class="row">
                    <div class="col-xs-4">
                        <img src="~/images/manhole1.png" class="img-responsive">
                    </div>
                    <div class="col-xs-4 text-right paddingtop20">
                        <div class="huge"><h2>@Model[0].status</h2></div>
                    </div>
                </div>
            </div>
0 голосов
/ 06 июля 2018

Я предполагаю, что вы используете Vanilla Javascript. Вот ES5 (совместимый с ES6) пример метода, который позволяет вам изменить цвет вашего div:

var Model = [{status: 'Normal'}];

function colorMyDiv(){
    var color = 'black'; // default color
     
    switch (Model[0].status) {
       case 'Normal':
           color = 'green';
           break;
       case 'LOW':
           color = 'yellow';
           break;
       case 'HIGH':
           color = 'red';
           break;
    }
    var colorableDiv = document.getElementById('colorableDiv');
    if(colorableDiv)
         colorableDiv.style.backgroundColor = color;    
}

function test(){
  var states = ['Normal', 'LOW', 'HIGH'];
  var index = 0;
  var changeStateBtn = document.getElementsByTagName('button')[0];
  var stateLog = document.getElementsByTagName('span')[0];
  
  changeStateBtn.onclick = function(event){
    index = (index +1)%3;
    Model[0].status = states[index];
    stateLog.innerHTML = states[index];   
  }
  colorMyDiv();
  setInterval( colorMyDiv, 1000); 
}

test();
<button> Change state </button> 
<p>state : <span>Normal</span> </p>
<div style="width: 50px; height: 50px; margin-top: 20px" id="colorableDiv"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...