実は昨日投稿していったん解決して頂いた者です。ご回答下さった方ありがとうございます!!
改めて現状のご説明です。長くなりますがご容赦下さい。
1ページ上に、選択肢6つのプルダウンメニューと縦に長いテーブル(<tr>が数十行)があります。
プルダウンメニューで選択すると、テーブルの行表示が自動的に一部の行だけに絞り込まれる仕様になっています。
【スクリプト】
<script language=javascript>
<!--
function view(obj){
var v=obj.value;
var trs=document.getElementsByTagName("tr");
for(var i=0;i<trs.length;i++){
var patern="^"+v+"[0-9]{3}$";
if(trs[i].id.match(patern) || v=="") trs[i].style.display='block';
else trs[i].style.display='none';
trs[0].style.display = "block";
}
}
//-->
</script>
【プルダウンメニュー】
<form>
<select onChange="view(this)">
<option selected="selected">選択</option>
<option value="a">ジャンルA</option>
<option value="b">ジャンルB</option>
<option value="c">ジャンルC</option>
<option value="d">ジャンルD</option>
<option value="e">ジャンルE</option>
<option value="">すべて表示</option>
</select>
</form>
【テーブル】
ページ上のテーブル要素はここだけです。
1行目(ヘッダ行)より下のデータ行には、<tr id="プルダウンメニューに対応したアルファベット+数字3桁">でIDを付けています。
<table border="1">
<tr><th>項目1</th><th>項目2</th></tr>
<tr id="a030">
<td>あああああああああああ</td>
<td>あああああああああああ</td>
</tr>
<tr id="b029">
<td>いいいいいい</td>
<td>いいいいいい</td>
</tr>
<tr id="c028">
<td>う</td>
<td>う</td>
</tr>
<tr id="d027">
<td>えええええええええええええええええええええ</td>
td>えええええええええええええええええええええ</td>
</tr>
<tr id="e026">
<td>おおおおおおおおおおおおおおお</td>
<td>おおおおおおおおおおおおおおお</td>
</tr>
<tr id="a025">
<td>あああああああああああ</td>
<td>あああああああああああ</td>
</tr>
<tr id="b024">
<td>いいいいいい</td>
<td>いいいいいい</td>
</tr>
<tr id="c023">
<td>う</td>
<td>う</td>
</tr>
<tr id="d022">
td>えええええええええええええええええええええ</td>
td>えええええええええええええええええええええ</td>
</tr>
<tr id="e021">
<td>おおおおおおおおおおおおおおお</td>
<td>おおおおおおおおおおおおおおお</td>
</tr>
・
・下に続く
・
</table>
このページをFireFox1.5、Nescape7で確認すると以下2点の不具合が発生してしまうのです。
(1)ヘッダ行の幅が下のデータ行に揃わない(短くなる)。
(2)もっと行数が増えると、プルダウンメニュー選択でdisplay:noneで非表示にした行が余白としてぽっかり空いてしまう。
IEではヘッダ行がデータ行に揃い、非表示の行はきちんと上に詰められてまともな表になるのです。
Mozilla系専用のスクリプトを書き足す必要があるのかと思うのですが、全く知識不足で見当がつきません…
申し訳ございませんがご教示のほどお願い致します。
No.1ベストアンサー
- 回答日時:
次のように変更してみてください。
(2箇所あります)display='block';
↓
display='';
本来、TR要素のdisplayの規定値は'table-row'なのでFirefoxなどのちゃんとしたブラウザでは'block'を設定するおかしくなります。
'table-row'を設定するようにすればFirefoxなんかではちゃんと動くんですが、今度は標準に準拠していないIEで動かなくなってしまうので…
空('')を設定するとどちらでもうまくいくようです。
うまくいきました!!
昨日から何度もご丁寧に、本当にありがとうございます(T-T)
昨日は結局、ご教示下さった方法を自分で使いこなせず、ポイントを差し上げられなかったのが本当に心残りでしたので、今回きちんとお礼ができて嬉しいです!
本当に本当にありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- Perl PERL 1 2022/04/26 14:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マウスをブラウザの外に出した...
-
ハイパーリンクを別ウインドウ...
-
プルダウンで選択すると、DBの...
-
スクロールバーの表示位置を変...
-
一覧から選択した行の行番号を...
-
二次元配列に数字をランダムに...
-
特定<table>内の<td>の色を変える
-
別ページからOnclickでテーブル...
-
\\u30ad\\u30fc\\u30dc・・・と...
-
EasyUIのSubGrid(jquery)にお...
-
【UWSC】HTML内のある部分を抽...
-
Jquery on click 発火しない
-
【JQuery】テーブルで行選択さ...
-
ラジオボタンでテーブルの背景...
-
テーブルの項目の値取得
-
「オブジェクトは、このプロパ...
-
setTimeoutで引数を配列にできるか
-
【至急】チェックボックスを用...
-
jqueryとscriptでTABLEのセルを...
-
javascript クリックすると、あ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jsで質問です。 displayプロパ...
-
javascriptで質問です。 displa...
-
ハイパーリンクを別ウインドウ...
-
JavaScriptで特定のtdタグにcla...
-
プルダウンで選択すると、DBの...
-
一覧から選択した行の行番号を...
-
tableの任意行にfocusをあてる
-
至急!GetElementById でtdの...
-
特定<table>内の<td>の色を変える
-
マウスをブラウザの外に出した...
-
添付画像のようなhtmlとcssのス...
-
スクロールバーの表示位置を変...
-
クリックされた罫表セルの行番...
-
チェックボックスにチェックが...
-
JavaScriptでテーブルの行入れ替え
-
HTML中のTABLEのデータを抽出す...
-
jquery datatablesを使用 イン...
-
JavaScriptでテーブルをクリッ...
-
階層式メニューをtableタグ内に
-
マウスオーバー時テーブルの背...
おすすめ情報