質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

Q&A

0回答

2178閲覧

Spring + AngularJS 連想配列 データ表示

snakeriver

総合スコア76

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

0グッド

0クリップ

投稿2016/06/27 03:20

勤怠情報が表示させるWebappをSpring にてJava とAngularJS にて作っています。勤怠勤怠勤怠、attendanceのデータが表示しているhtmlの一覧が以下のようにあります。
日付(date) | 名前 (lastname firstname) | 出勤 | 退勤

上記をクリックすると(Angularjs のng-show にて)以下の情報が表示されるようにしたいのです。

交通手段: (vehicle)

条件としてはattendanceのstaff.id とdataのstaff.id が同じ(紐付け)で、日付が同じことが要求されます。

問題としてはattendanceのコントローラしたに以下のdataのような連想配列を function(dataList) {}にて取り出した時に
staff.id とdate キーとして連想配列を作りたいのですが、エラーが出てしまいます。
「Cannot read property '2016-5-27' of undefined」

var attendance ={ "obj1":{"date":"2016-05-27","staff":{"id":"01","dep":"sales", "firstname":"taro", "lastname":"honda"},"出勤":"09:00:00","退勤":"18:00:00"}, "obj2":{"date":"2016-05-27","staff":{"id":"02","dep":"engineer","firstname":"ryo", "lastname":"suzuki"},"出勤":"10:00:00","退勤":"20:00:00"}, "obj3":{"date":"2016-05-27","staff":{"id":"06","dep":"engineer","firstname":"hanako", "lastname":"matsumoto"},"出勤":"09:00:00","退勤":"18:00:00"}, "obj4":{"date":"2015-01-02","staff":{"id":"07","dep":"sales","firstname":"yuki", "lastname":"hara"},"出勤":"10:00:00","退勤":"20:00:00"} }; var dataList ={ "data1":{"date":"1464274800000","name":{"first":"fist1","last":"last1"},"vehicle":"car", "staff":{"id":"01","dep":"sales", "firstname":"taro", "lastname":"honda"}}, "data2":{"date":"1464274800000","name":{"first":"fist2","last":"last2"},"vehicle":"car", "staff":{"id":"02","dep":"engineer","firstname":"ryo", "lastname":"suzuki"}}, "data3":{"date":"1464274800000","name":{"first":"fist3","last":"last3"},"vehicle":"train","staff":{"id":"03","dep":"bookkeeper","firstname":"ken", "lastname":"hitachi"}}, "data4":{"date":"1464274800000","name":{"first":"fist4","last":"last4"},"vehicle":"train", "staff":{"id":"04","dep":"engineer","firstname":"sho", "lastname":"kikuchi"}}, "data5":{"date":"1465225200000","name":{"first":"fist5","last":"last5"},"vehicle":"train", "staff":{"id":"01","dep":"sales","firstname":"taro", "lastname":"honda"}} }; document.write(key, ':', value+"<>"); for (var i = 0; i < data.length; i++) { var data = data[i]; var d = new Date(data.date); yyyy = d.getFullYear(); mm = d.getMonth()+1; ss = d.getDate(); var keydate = yyyy+"-"+mm+"-"+ss; if ($scope.MapByStaffId[data.staff.id][keydate] == null) { $scope.MapByStaffId[data.staff.id][keydate] = {}; } if($scope.MapByStaffId[data.staff.id][keydate][data.vehicle] == null) { $scope.MapByStaffId[data.staffDto.id][keydate][data.vehicle] = { vehicle: angular.copy(data.vehicle) }; } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問