0

グリッドビューの各行のブール値 (ブール値) に基づいてプログレスバーの色を変更しようとしています。値が True の場合、色は緑になり、値が False の場合、色は赤になります。しかし、何らかの理由で色を設定する条件が機能していません!

前もって感謝します:

Asp GridView コード:

<Columns>
<asp:TemplateField>
    <ItemTemplate>
        <%# Container.DataItemIndex + 1 %>
    </ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="progress" HeaderText="Progress" SortExpression="progress" />
<asp:BoundField DataField="status" HeaderText="status" SortExpression="status" />
<asp:TemplateField>
<ItemTemplate>
   <div class="pbcontainer">
      <div class="progressbar"><span><%# Eval("progress") %>%</span></div>
      <div class="value" style="visibility:hidden; height:0; width:0;"> <%#         Eval("progress") %> </div>
      <div class="status" style="visibility:hidden; height:0; width:0;"> <%# Eval("status") %> </div>
  </div>
</ItemTemplate>
</asp:TemplateField>
</Columns>

脚本:

</style>

<link href="CSS/jquery-ui.css" rel="stylesheet" />
<script src="Scripts/jquery-1.9.1.js"></script>
<script src="Scripts/jquery-ui-1.10.3%20.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
    $(function () {
        $('.pbcontainer').each(function () {
            var val = parseInt($(".value", this).text());
            var status = $(".status", this).text();

            var progressColor = "Orange";
            var progressBackColor = "lightYellow";

            console.log(status);
            if (status == "False") {
                progressColor = "Red";
                //console.log("Condition met color red status Flase");
            }
            else if (status == "True") {
                progressColor = "Green";
                //console.log(progressColor);
                //console.log("Condition not met color Green status True");
            }

            $('.progressbar', this).progressbar({ value: val });
            $('.progressbar', this).css({ 'background': progressBackColor });
            $('.progressbar > div', this).css({ 'background': progressColor });
        });
    });
</script>
4

2 に答える 2