<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="MyTutorialApp">
<head>
<title></title>
<script src="jquery-1.6.4.js"></script>
<script src="angular.min.js"></script>
<style type="text/css">
.skillp
{
width: 25px;
}
.count
{
background-color:#4cff00;
border:2px #000000 solid;
color:#4cff00;
}
.null
{
background-color:none;
border:2px #fff solid;
}
</style>
<script type="text/javascript">
var app = angular.module('MyTutorialApp', []);
app.controller("controller", function ($scope) {
$scope.roles = [
{
id: 0,
description: [
{desc:'Java',proficiency:'5'},
{desc: 'C++', proficiency: '2'},
{desc: 'C#', proficiency: '4' }
]
}];
});
</script>
<script type="text/javascript">
$(document).ready(function () {
if ($("#skill").text() == "1")
$("#p0").addClass("count");
else if ($("#skill").text() == "2") {
$("#p0").addClass("count");
$("#p1").addClass("count");
}
else if ($("#skill").text() == "3") {
$("#p0").addClass("count");
$("#p1").addClass("count");
$("#p2").addClass("count");
}
else if ($("#skill").text() == "4") {
$("#p0").addClass("count");
$("#p1").addClass("count");
$("#p2").addClass("count");
$("#p3").addClass("count");
}
else if ($("#skill").text() == "5") {
$("#p0").addClass("count");
$("#p1").addClass("count");
$("#p2").addClass("count");
$("#p3").addClass("count");
$("#p4").addClass("count");
}
else
$("#p0").addClass("null");
$("#p1").addClass("null");
$("#p2").addClass("null");
$("#p3").addClass("null");
$("#p4").addClass("null");
});
</script>
</head>
<body ng-controller="controller">
<div ng-repeat="role in roles" style="width: 622px; height: 28px;">
<div ng-repeat="descr in role.description" style="width: 565px; height: 22px;">
<div style="float:left;text-align:left; width: 42px;"><span>{{descr.desc}}</span></div>
<div style="float:left;text-align:right;">
<span id="skill">{{descr.proficiency}}</span>
</div>
<div style="width: 274px; height: 19px;float:left; top: 0px; left: 0px;padding-left:10px;">
<div class="" id="p0" style="width: 20px;float:left; color:white; top: 0px; height: 7px;border:1px black solid;margin-top:5px;">.</div>
<div class="" id="p1" style="width: 20px;float:left; color:white; top: 0px; height: 7px;border:1px white solid;margin-top:5px;">.</div>
<div class="" id="p2" style="width: 20px;float:left; color:white; top: 0px; height: 7px;border:1px white solid;margin-top:5px;">.</div>
<div class="" id="p3" style="width: 20px;float:left; color:white; top: 0px; height: 7px;border:1px white solid;margin-top:5px;">.</div>
<div class="" id="p4" style="width: 20px;float:left; color:white; top: 0px; height: 7px;border:1px white solid;margin-top:5px;">.</div>
</div>
</div><br/>
</div>
</body>
</html>
コードに問題があります。達成したいのは、たとえば {{descr.proficiency}} 内のテキストが「1」の場合、1 つの div を緑色の背景色で塗りつぶすことです。2 つの場合は、2 つの div を緑の背景色などで塗りつぶします。
コードを実行すると、作成した jquery が ng-repeat="descr in role.description" で初めてループしたときにのみ機能するようです。
私の結果は:
例: Java 5 -----
C++ 2
C# 4
注: - は、緑色で塗りつぶされた div を表します。
しかし、私が欲しいのは、各デスクのバーを表示することです。
期待されるもの:
例: Java 5 -----
C++ 2 --
C# 4 ----
お手伝いできますか?私は何が欠けていますか?