0

next() と prev() を使用して配列を切り替えるボタンをページに配置するにはどうすればよいですか?

$transportation = array('foot', 'bike', 'car', 'plane');

<button onclick="$mode = next($transportion);">NEXT</button>
<p>
<button onclick="$mode = prev($transportion);">PREVIOUS</button>
<p>

echo $mode;
4

3 に答える 3

1

これをチェック

前述のように、PHP はサーバー側の言語であるため、PHP 側から処理する必要があります。MVC 環境で作業していると仮定すると、コントローラーで「前」と「次」のリクエストを処理し、それをビューにレンダリングします。

たとえば、配列をテーブルまたはリストにレンダリングする場合、たとえば JQuery を使用できますが、それはクライアント側になります。

于 2013-10-20T17:15:00.413 に答える
1

PHP ファイル コード:

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    </head>
    <body>
        <?php $transportation = array('foot', 'bike', 'car', 'plane'); ?>
        <h2>Foot, Bike, Car, Plane</h2>
        <p>
            <input type="button" class="cycle" id="next" value="Next">
        </p>
            <h2 id="result">Current: plane</h2>
        <p>
            <input type="button" class="cycle" id="prev" value="Previous">
        </p>
        <script type="text/javascript">
            var myarray = <?php echo json_encode($transportation); ?>;
            $(document).ready(function () {
                var current = -1;
                $(".cycle").click(function () {
                    var darray = myarray;
                    if ($(this).attr("id") == "next") {
                        next(darray);
                } else {
                    prev(darray);
                }
            });

            function next(data) {
                if (current != 3) {
                    $("#result").text("Current: " + data[++current]);
                }
            }

            function prev(data) {
                if (current != 0) {
                    $("#result").text("Current: " + data[--current]);
                }
            }
            });
        </script>
    </body>
</html>

実際の例:

http://69.195.223.90/56454-11/

于 2013-10-20T19:54:50.787 に答える
0

これをすぐに行うことはできません。PHPはサーバーサイド言語です。コマンドをサーバーに送信するには、クライアント側のスクリプトが必要です。または、JavaScript 配列を使用することもできます。

于 2013-10-20T17:05:02.187 に答える