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

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

ただいまの
回答率

90.35%

  • jQuery

    7090questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

  • CSS

    6171questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

  • HTML5

    4282questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • Material Design

    12questions

Materializeでselectメニューが隠れてしまう。

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 623

kalon

score 85

皆様いつもお世話になっております。

動作環境は以下の通りです。
jQuwey:jquery-3.3.1.min
Materialize: 1.0.0-beta

selectメニューを書いたのですが、Materializeを適応したらselectメニューが見えなくなってしまいました。
ソースを見る限りselectメニューは存在するのですが。。。どうしたらselectメニューを表示できるようになるでしょうか?
イメージ説明

<!doctype html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <!--Import materialize.css-->
    <link type="text/css" rel="stylesheet" href="css/materialize.min.css"  media="screen,projection"/>
    <title>Document</title>
</head>
<body>
<div class="container">
    <form action="index.php" method="post">
        <div class="row input-field">
            <div class="col s7">
                <input type="text" name="prod_name" placeholder="商品名">
            </div>
            <div class="col s5">
                <input type="text" name="mount" placeholder="個数">
            </div>
            <div class="col s6 offset-s6"></div>
           <div class="row">
               <div class="col s6">
                   <select name="category"> <!-- これが消える -->
                       <option value="鮮魚">鮮魚</option>
                       <option value="冷凍食品">冷凍食品</option>
                       <option value="常温">常温</option>
                   </select>
               </div>
               <div class="col6 s6 offset-6"></div>
           </div>
            <div class="row">
            <div class="col s4">
                <input type="text" name="year" placeholder="年">
            </div>
            <div class="col s4">
                <input type="text" name="mon" placeholder="月">
            </div>
            <div class="col s4">
                <input type="text" name="day" placeholder="日">
            </div>
                <input type="submit" name="regist" value="登録" class="btn waves-effect waves-light" >
            </div>

    </form>
</div>
<!--JavaScript at end of body for optimized loading-->
<script type="text/javascript" src="js/materialize.min.js"></script>
<script>
    $(function() {
        $('.btn').on('click', function() {
            $('.btn').hide();
            // 3秒後に元に戻す
            setTimeout(function() {
                $('.btn').show();
            }, 3000);
        });
    });
</script>
<script>
    $(document).ready(function(){
        $('select').formSelect();
    });
</script>
<script src="js/jquery-3.3.1.min.js"></script>
</body>
</html>
base.css

.button{
    position: relative;
    left: 8px;
}

理想像はこんなかんじです。
イメージ説明
アドバイスとご教授のほどよろしくお願いします。

補足情報:
Formだけに絞ったコードでも、セレクトメニューは表示されません。

<!doctype html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <!--Import materialize.css-->
    <link type="text/css" rel="stylesheet" href="css/materialize.min.css"  media="screen,projection"/>
    <link type="text/css" rel="stylesheet" href="css/base.css"  media="screen,projection"/>
    <title>Document</title>
</head>
<body>
<div class="container">
    <form action="index.php" method="post">
        <div class="row input-field">
          <div class="row">
                <div class="col s6">
                    <select name="category">
                        <option value="鮮魚">鮮魚</option>
                        <option value="冷凍食品">冷凍食品</option>
                        <option value="常温">常温</option>
                    </select>
                </div>
          </div>
        </div>
    </form>
</div>
<!--JavaScript at end of body for optimized loading-->
<script type="text/javascript" src="js/materialize.min.js"></script>
<script>
    $(function() {
        $('.btn').on('click', function() {
            $('.btn').hide();
            // 3秒後に元に戻す
            setTimeout(function() {
                $('.btn').show();
            }, 3000);
        });
    });
</script>
<script src="js/jquery-3.3.1.min.js"></script>
<script>
    $(document).ready(function(){
        $('select').formSelect();
    });
</script>

</body>
</html>

もっと絞ってみました。Materializeを読み込まないようにすればセレクトメニューは表示されました。

<!doctype html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <!--Import materialize.css-->
    <link type="text/css" rel="stylesheet" href="css/materialize.min.css"  media="screen,projection"/>
    <link type="text/css" rel="stylesheet" href="css/base.css"  media="screen,projection"/>
    <title>Document</title>
</head>
<body>
<select name="category">
    <option value="鮮魚">鮮魚</option>
    <option value="冷凍食品">冷凍食品</option>
    <option value="常温">常温</option>
</select>
</body>
</html>
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • asahina1979

    2018/04/22 23:38

    bootstrap ぽいべつのなにかなら bootstrap タグは不要

    キャンセル

  • kalon

    2018/04/22 23:40

    ご指摘ありがとうございます。修正いたしました。

    キャンセル

回答 1

checkベストアンサー

+2

ざくっとみたかんじ

IE11 (ActiveX 許可)
Edge
火狐
クローム

で普通に表示されてますがどのブラウザのことでしょうか?

<select> タグ自体はすべてのブラウザで display: none に設定されてますね。

(Input type=text のような別の何かになる)

Active X 無効化したIEや古いIEではこのスタイルは適用できません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/04/23 00:05

    @asahina1979様、いつも回答をありがとうございます。
    ChromeとSafaliで確認しました。どちらもセレクトメニュー(プルダウンメニュー)が表示されません。

    キャンセル

  • 2018/04/23 00:08

    コピペミスじゃなく素でこの通りなのか

    JQuery の読込順序が正常じゃないのとか。。。。

    キャンセル

  • 2018/04/23 00:14

    <script src="js/jquery-3.3.1.min.js"></script>
    <script>
    $(document).ready(function(){
    $('select').formSelect();
    });
    </script>
    にして見ましたが、結果は同じくセレクトメニューは表示されません (> <)

    キャンセル

  • 2018/04/23 00:23

    てことはうちがしっている materialize とはちがうのかな
    本家は 1.0.0-beta ですし

    キャンセル

  • 2018/04/23 00:28

    セレクトメニューだけにしぼって書いてみましたが、セレクトメニューは表示されませんでした。
    <!doctype html>
    <html lang="ja">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport"
    content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <!--Import materialize.css-->
    <link type="text/css" rel="stylesheet" href="css/materialize.min.css" media="screen,projection"/>
    <link type="text/css" rel="stylesheet" href="css/base.css" media="screen,projection"/>
    <title>Document</title>
    </head>
    <body>
    <div class="container">
    <form action="index.php" method="post">
    <div class="row input-field">
    <div class="row">
    <div class="col s6">
    <select name="category">
    <option value="鮮魚">鮮魚</option>
    <option value="冷凍食品">冷凍食品</option>
    <option value="常温">常温</option>
    </select>
    </div>
    </div>
    </div>
    </form>
    </div>
    <!--JavaScript at end of body for optimized loading-->
    <script type="text/javascript" src="js/materialize.min.js"></script>
    <script>
    $(function() {
    $('.btn').on('click', function() {
    $('.btn').hide();
    // 3秒後に元に戻す
    setTimeout(function() {
    $('.btn').show();
    }, 3000);
    });
    });
    </script>
    <script src="js/jquery-3.3.1.min.js"></script>
    <script>
    $(document).ready(function(){
    $('select').formSelect();
    });
    </script>

    </body>
    </html>

    キャンセル

  • 2018/04/23 00:31

    失礼しました。質問に書いていた動作環境の中のMaterializeは正しくは1.0.0-betaでした。

    キャンセル

  • 2018/04/23 07:57

    読み込み順の件は
    <script src="js/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="js/materialize.min.js"></script>

    かと。
    ブラウザ開発ツールのコンソールにエラー出てると思いますよ。

    キャンセル

  • 2018/04/23 10:26

    お返事ありがとうございます。ご教授いただいたとおりにしたところ、セレクトメニューが表示されるようになりました。セレクトメニューを表示させるためのjQuery文もファイルの読み込み文の下に記述したところ直りました。

    <script src="js/jquery-3.3.1.min.js"></script>
    <!--JavaScript at end of body for optimized loading-->
    <script type="text/javascript" src="js/materialize.min.js"></script>
    <script>
    $(document).ready(function(){
    $('select').formSelect();
    });
    </script>

    キャンセル

  • 2018/04/23 10:28

    jquery本体の読み込みを先に行わずjqueryの機能を使おうとするのはエンジンを乗せないまま車を走らせようとするようなものなので、必ず一番最初に読み込ませるようにする必要があります。

    キャンセル

  • 2018/04/23 10:28

    mts10806様
    ベストアンサーに選びたいので、お手数ですが回答の方に同じ内容で投稿いただけないでしょうか?

    キャンセル

  • 2018/04/23 10:28

    asahina1979様もお付き合いありがとうございました。

    キャンセル

  • 2018/04/23 10:30 編集

    JQuery の読込順序については既に回答主であるasahina1979さんが先にコメントされていて、私は回答にするまでもないかとその補足をしただけなので、当回答の流れで解決に至れた、ということで当回答をBAで良いかと思います。

    キャンセル

  • 2018/04/23 10:35

    わかりました。

    キャンセル

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

  • ただいまの回答率 90.35%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • jQuery

    7090questions

    jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

  • CSS

    6171questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

  • HTML5

    4282questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • Material Design

    12questions