質問するログイン新規登録

質問編集履歴

3

タイトル変更

2018/03/29 13:54

投稿

jojo003
jojo003

スコア14

title CHANGED
@@ -1,1 +1,1 @@
1
- テーブル行をセレクトボックスでフィルターしたい。
1
+ Javascript:テーブル行をセレクトボックスでフィルターしたい。
body CHANGED
File without changes

2

コード編集

2018/03/29 13:54

投稿

jojo003
jojo003

スコア14

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  Symfony環境にて、HPを作っています。
2
2
  画面上の一覧表でセレクトボックスを選ぶと選択した項目に該当する行以外が見えなくなる機能をjavascriptで実現したいと思っています。
3
3
  しかしJavascriptのエラーが出てしまい、何か選択すると全行消えてしまいます。
4
- console.logで変数の中身など調べたところ「table.rows[i].cells[1].firstChild.innerText」でうまく値を取得できていませんでした。
4
+ console.logで変数の中身など調べたところ「table.rows[i].cells[5].firstChild.innerText」でうまく値を取得できていませんでした。
5
5
  色々試してみたのですが解決策が見いだせません。
6
6
  <td>の中身はsymfonyのcontrollerで生成した変数を入れ込んでいます。
7
7
  当方、素人レベルなので説明が上手くなく恐縮なのですが、なにかアドバイスをいただけると助かります。
@@ -71,7 +71,7 @@
71
71
  var selectedType = document.getElementById("types").value;
72
72
  var table = document.getElementById('result');
73
73
  for( i = 1; i < table.rows.length; i++ ){
74
- if( selectedType === '' || selectedType === table.rows[i].cells[1].firstChild.innerText ){
74
+ if( selectedType === '' || selectedType === table.rows[i].cells[5].firstChild.innerText ){
75
75
  table.rows[i].style.display = '';
76
76
  }else{
77
77
  table.rows[i].style.display = 'none';

1

HTMLの修正

2018/03/29 13:40

投稿

jojo003
jojo003

スコア14

title CHANGED
File without changes
body CHANGED
@@ -7,6 +7,15 @@
7
7
  当方、素人レベルなので説明が上手くなく恐縮なのですが、なにかアドバイスをいただけると助かります。
8
8
  ```
9
9
  ▼View▼
10
+ <div>
11
+ <select id="types" onChange="searchTable();" >
12
+ <option value=""></option>
13
+ <option value="" selected="">選択してください</option>
14
+  {% for p in paginationModal %}
15
+ <option value="{{ p.name }}" >{{ p.name }}</option>
16
+  {% endfor %}
17
+ </select>
18
+ </div>
10
19
  <table id="result">
11
20
  <thead>
12
21
  <tr>
@@ -20,37 +29,37 @@
20
29
  </thead>
21
30
  <tbody>
22
31
  {% for p in paginationModal %}
23
- <tr id="selectedMaker">
32
+ <tr>
33
+ <td>
24
- <td aria-label="ID">
34
+ <div>
25
- <div class="table_tdInner">
26
- {{ p.id }}
35
+ {{ p.id }}
27
- </div>
36
+ </div>
37
+ </td>
38
+     <td>
39
+ <div>
40
+ {{ p.name }}
41
+ </div>
28
42
  </td>
43
+ <td>
29
- <td aria-label="名称">
44
+ <div>
30
- <div class="table_tdInner">
31
- {{ p.name }}
45
+ {{ p.partNumber }}
32
- </div>
46
+ </div>
33
47
  </td>
48
+ <td>
34
- <td aria-label="品番">
49
+ <div>
35
- <div class="table_tdInner">
36
- {{ p.partNumber }}
50
+ {{ p.modelNumber }}
37
- </div>
51
+ </div>
38
52
  </td>
53
+ <td>
39
- <td aria-label="型番">
54
+ <div>
40
- <div class="table_tdInner">
41
- {{ p.modelNumber }}
55
+ {{ p.jan }}
42
- </div>
56
+ </div>
43
57
  </td>
58
+ <td>
44
- <td aria-label="JAN">
59
+ <div>
45
- <div class="table_tdInner">
46
- {{ p.jan }}
60
+ {{ p.maker }}
47
- </div>
61
+ </div>
48
62
  </td>
49
- <td aria-label="メーカー">
50
- <div class="table_tdInner">
51
- {{ p.maker ? p.maker.name : '' }}
52
- </div>
53
- </td>
54
63
  </tr>
55
64
  {% endfor %}
56
65
  </tbody>