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

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

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

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

PHP

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Q&A

0回答

1245閲覧

cakePHP3 viewでアコーディオンで開閉されたデータをJSで取得したい

ofuru.no.good

総合スコア15

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

PHP

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

0グッド

0クリップ

投稿2018/12/14 07:41

編集2018/12/14 08:19

開閉されたcategoryのidをJSで取得したい。

現状では、
console.log(id); で ランダムなidが取得されてしまう。
また、同じデータが3回表示されている。

開閉されたときのidを取得したい。

categoryテーブル(仮)
id name body

a1a 動物 犬

b1b 乗り物 飛行機

b2b 乗り物 車

b3b 乗り物 船

c1c 食べ物 りんご

view

1<div class="accordion" id="accordion" role="tablist" aria-multiselectable="true"> 2 <div class="card"> 3 <div class="card-header"> 4 <?=h('カテゴリ'); ?> 5 </div> 6<?php 7foreach ($category as $ca) { 8 <div class="card-header bg-white" role="tab" id="<?=h($ca->id); ?>"> 9 <a class="text-body d-block collapsed" data-toggle="collapse" href="#category<?=h($ca->id); ?>" role="button" aria-expanded="false"> 10 <div class="d-inline"><?=h($ca->name); ?></div> 11 </a> 12 </div><!-- /.card-header bg-white --> 13 <div id="category<?=h($ca->id); ?>" class="collapse" role="tabpanel" data-parent="#accordion"> 14 <div class="mx-3"> 15 <div class="d-inline"><?=h($ca->body); ?></div> 16 </div> 17 </div> 18<?php 19} 20?> 21 </div><!-- /.card --> 22</div><!-- /#accordion -->

JS

1$(function() { 2 $('div').on('shown.bs.collapse',function() { 3 // 二通り行ってみた。 4 var id = $('a[class="text-body d-block collapsed"]').attr('href'); 5 6 console.log(id); 7 8 // $.ajax({ 9 // 処理 10 }); 11}

尚、JS
$(function() {
$('#categorya1a').on('shown.bs.collapse',function() {
で取得できるが、データが増えたとき、JSに追加していくなんてことは出来ないため、他の方法を模索しています。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/12/14 12:50

すべてのタグ削除そしてjqueryとbootstrapタグをつけましょ
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問