изменение символа начальной загрузки в зависимости от статуса

#javascript #html #css #twitter-bootstrap #knockout.js

#javascript #HTML #css — файл #twitter-bootstrap #knockout.js #css

Вопрос:

Я пытаюсь изменить свой символ в зависимости от StatusLineId , но ни один из символов не отображается. Что я делаю не так?

HTML-код:

 <div>
    <div id="status-icon" data-bind="visible: statusIcon" style="float:left;width:30px;">
        <span class="glyphicon"></span>
    </div>
</div>
  

Функция Js

 function statusIcon() {
    if (StatusLineId == 1) {
        $("#status-icon").find(".glyphicon").addClass("glyphicon-remove");
    }
    else if (StatusLineId == 11) {
        $("#status-icon").find(".glyphicon").addClass("glyphicon-chevron-up");
    }
    else {
        $("#status-icon").find(".glyphicon").addClass("glyphicon-flash"); 
    }
}
  

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

1. Можете ли вы опубликовать скрипку?

Ответ №1:

Я попробовал следующий код, и это сработало. Просто измените значение ‘StatusLineId’ и протестируйте в fiddle.

 <div>
    <div id="status-icon" data-bind="visible: statusIcon" style="float:left;width:30px;" onClick="statusIcon();">here
        <span class="glyphicon"></span>
    </div>
 </div>


    $( document ).ready(function() {
 var StatusLineId = 0
    if (StatusLineId == 1) {
    //alert('remove');
        $("#status-icon span").toggleClass('glyphicon-arrow-right').toggleClass('glyphicon-remove')
}
    else if (StatusLineId == 11) {
        $("#status-icon span").toggleClass('glyphicon-arrow-right').toggleClass('glyphicon-chevron-up')
}
    else {
        $("#status-icon span").toggleClass('glyphicon-arrow-right').toggleClass('glyphicon-flash');

}

});
  

https://jsfiddle.net/tsscrpn6/

Ответ №2:

StatusLineId не объявлен и не передается в качестве параметра функции statusIcon().

Объявите StatusLineId внутри функции и попробуйте. Это работает.