Почему мой jQuery индикатор прогресса пропускает сегмент? - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть следующий код HTML / jQuery для отображения индикатора выполнения с 3 сегментами, каждый из которых имеет свой цвет:

<div class="progress">
    <div class="progress-bar progress-bar-info" role="progressbar" style="width: @(Model.TendersReceived[i].PointsTechnical)%;" title="@("Segment: 'Tech'" + Environment.NewLine + "Value: " + Model.TendersReceived[i].PointsTechnical)"></div>
    <div class="progress-bar progress-bar-success" role="progressbar" style="width: @(Model.TendersReceived[i].PointsManagement)%;" title="@("Segment: 'Man'" + Environment.NewLine + "Value: " + Model.TendersReceived[i].PointsManagement)"></div>
    <div class="progress-bar progress-bar-warning" role="progressbar" style="width: @(Model.TendersReceived[i].PointsQuality)%;" title="@("Segment 'Qual'" + Environment.NewLine + "Value: " + Model.TendersReceived[i].PointsQuality)"></div>
    <div style="padding-top: 3px;">&nbsp;&nbsp;@Model.TendersReceived[i].PointsTotal.ToString("N2")</div>
</div>

Теперь панель отображается следующим образом:

enter image description here

Где Blue соответствует PointsTechnical со значением 44, затем Orange до PointsQuality со значением 4. Общая сумма, 71.5, включает PointsManagement, которая имеет значение 23.5 и должна соответствовать Green.

Почему Green или PointsManagement отсутствует в моем прогрессе бар

1 Ответ

0 голосов
/ 28 февраля 2020

Благодаря предложению @ RoryMcCrossan в комментариях я проверяю вывод HTML. Я обнаружил, что:

style="width: @(Model.TendersReceived[i].PointsManagement)%;"

отображается как:

style="width: 71,5%;"

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

Я изменил свой код на

style="width: @(Model.TendersReceived[i].PointsManagement.ToString(CultureInfo.InvariantCulture))%;"

и индикатор выполнения / график работает нормально.

...