2016-04-08 5 views
-3

私はフォーム内の従属フィールドのために、すばらしい、簡単で高速なソリューションを探しています。PHP/JSで依存フォームフィールドを開発する最善の方法

例:次の選択リスト(またはその他の書式で)でCar Aを選択すると、タイプAまたはBが表示されます。次の選択リストでCar Bを選択すると、タイプCまたはDが表示されます。(A、B、C以外、Dは2つのケースで2番目のリストにまとめられています)。

最初のリストの選択項目の後に自動的にフォームを送信し、ページロード後に正しい選択リストを表示するためにPHPで選択した値を処理するJSを実装します。

このケースもPHPで実装し、プロセスをいくつかのステップに分けています。そして、前の行で選択した値をセッションに保存します。

この問題を解決する最善の方法は、セッションに値を格納することです。良い方法ですか、meabyを使うべきですか?

答えて

1

最良の方法は、(私にとっては)最初のリストで選択した値にAJAXリクエストを送信することで、AJAX応答の後にちょうど第二のリストにanswertを入れ

(PHPスクリプトは、オプションをあなたのリストのタグを復元する必要があります)

Ex。

<select id="A" > 
    <option value="1">1</option> 
    <option value="2">2</option> 
</select> 
<select id="B" ></select> 

JS

$('#A').change(function(){ 
    var value = $(this).val(); 
    $.post('/path/to/ajax.php',{aValue:value}, function(optionsHtml){ 
     $('#B').html(optionsHtml); 
    },'html') 
}); 

PHP HTML

(jQueryを使って)

<?php 
$values = [ 
    1=>['L1','L2'], 
    2=>['L3','L4'] 
]; 
foreach($values[$_POST['aValue']] as $l){ 
    echo '<option value="'.$l.'">'.$l.'</option>'; 
} 
関連する問題