1

このカテゴリのリストがあります

<?php
$var = explode('|', $_POST['categories']);
 ?>
  <div id="cardContainer">
<div class="wrapper">
    <div class="catList">
        <div class="categories">
            <h2>Categories</h2>
            <form method="post">
            <select id="categories" name="categories">
                <option value="">Choose a category</option>
                <option value="1|page1.html">Real Estate</option>
            <option value="2|page2.html">Commercial Auto</option>
                <option value="3|page3.html">Beauty/Salon</option>
                <option value="4">Health</option>
                <option value="5">Construction</option>
                <option value="6">Legal</option>
                <option value="7">Furniture</option>
                <option value="8">Food</option>
            </select><!-- end id="categories" -->
            </form>
        </div><!-- end class="categories" -->
    </div><!-- class="catList" -->
    <!-- START IMAGE LISTINGS -->
        <div class="imgList">
            <?php include($var); ?>
        </div>
    <!-- END IMAGE LISTINGS -->
</div><!-- end class="wrapper" -->
</div><!-- end id="cardContainer" -->

<?php include(''); ?>底に。include('');選択したオプションの値をphpに挿入するにはどうすればよいですか? 私はphpの初心者で、どんな助けもありがとうございます。

編集:メソッドを使用しようとして選択したカテゴリに応じてページを開きたいinclude();。それが最善の方法でない場合は、お知らせください。前もって感謝します。

4

2 に答える 2

1

いいえ、それはできません。テキストはサーバーに送信されず、<option>PHP のみを使用してテキストを取得する方法はありません。AJAX を使用してテキストを取得し、それを PHP スクリプトに送信する必要があります。

ただし、HTML マークアップを少し再構築することで実現できます。

<select id="categories">
    <option value="">Choose a category</option>
    <option value="1|Real Estate">Real Estate</option>
    <option value="2|Commercial Auto">Commercial Auto</option>
    ...
</select>

これで、次のように単純explode()にテキストを取得できます。

$var = explode('|', $_POST['categories']);
echo $var[1]; // echo the text

デモ!


送信ボタンなしでできますか?オプションが変更されたときに変更するだけですか?

はい。ただし、そのためには jQuery を使用する必要があります。次の回答が役立ちます。

上記の回答のコードを使用した簡単なデモを次に示します: Fiddle

于 2013-10-20T08:25:13.150 に答える