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

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

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

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2748閲覧

html(laravelのblade)のloop内テーブル全<td>でjavascriptイベントを発生させたい

rinkoro

総合スコア23

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/08/21 12:10

今、htmlのテーブル<table>の中で、
laravel、controllerから持ってきた数値を<td>内に表示させているのですが
その際に数値がカンマ区切りになるようにjavascriptで設定しています。

ですが、そのカンマ区切りが反映されるのはテーブルの1行目のみで、
2行目以降は反映されません。
どこが悪いのか
ご指摘いただけますと幸いです。
宜しくお願いいたします。

今の状態↓

laravelのblade画面で一覧表示ページを持ってきたときに
カンマ区切りで表示されるようにしたいです。写真の60000000は{{$date->goal}}の値です

イメージ説明

(途中省略) <tbody> @foreach ($getData as $data) <tr> <td id = "goal">{{$data->goal}}</td> ←写真の60000000の値 <td id = "result">{{$data->result}}</td>   </tr> @endforeach </tbody> <table> </div> <script> window.onload = function(){ // ページ読み込み時に実行したい処理 var goal = {{$data->goal}}; var result = {{$data->result}}; var retGoal = Number(goal).toLocaleString(); var retResult = Number(result).toLocaleString(); document.getElementById("goal").innerHTML = retGoal; document.getElementById("result").innerHTML = retResult;

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

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

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

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

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

guest

回答2

0

IDが重複してはいけません。

この場合だったら、PHP側で処理した方が楽そうですが、JavaScriptでやるなら、処理したいtdに同じclassを指定してください。それをJSでループして既存の処理を行えば、実現可能です。

投稿2020/08/21 12:23

編集2020/08/21 12:24
kyoya0819

総合スコア10429

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

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

rinkoro

2020/08/21 21:45

たしかにPHP側でやった方が楽だったのでそちらにしました^^;ありがとうございました!
guest

0

自己解決

PHP側でやったほうが楽でしたのでそちらで実装しました。

$getData = DB::select(DB::raw('select format(goal,0) as goal,format(result,0) as result from table'));

これをbladeに渡して3桁区切りで表示させました。

投稿2020/08/21 21:47

rinkoro

総合スコア23

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

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

kyoya0819

2020/08/22 03:34 編集

こっちの方が簡単かな?という方法はっておきます。 ```PHP number_format($data->goal) ``` とくに、Controller側は何も変えず、Viewの、3桁区切りにしたいところを上記のように変えればできるはずです。 参考:https://www.php.net/manual/ja/function.number-format.php 書き直すとするとこんな感じか。 ```Blade (途中省略) <tbody> @foreach ($getData as $data) <tr> <td id = "goal">{{ number_format($data->goal) }}</td> ←写真の60000000の値 <td id = "result">{{$data->result}}</td>   </tr> @endforeach </tbody> <table> </div> ```
rinkoro

2020/08/22 05:10

こちらで試してみたらあっさりできました!!ご親切、ご丁寧にわざわざありがとうございました!!>< 助かりました^^!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問