2016-04-08 4 views
-3

Ich suche die beste nette, einfache und schnelle Lösung für abhängige Felder in Form.Der beste Weg, abhängige Formularfelder mit PHP/JS zu entwickeln

Eg. Wenn ich Auto A in der nächsten Auswahlliste (oder einem anderen Formularfeld) wähle, möchte ich Typ A oder B sehen, wenn ich Auto B in der nächsten Auswahlliste auswähle, sehe ich Typ C oder D. (Nicht A, B, C , D zusammen in zwei Fällen in der zweiten Liste).

Ich implementiere Fall mit JS, um automatisch Formular nach Auswahl Element in der ersten Liste zu senden, und verarbeitet ausgewählten Wert mit PHP, um korrekte Auswahlliste nach dem Laden der Seite anzuzeigen.

Ich auch diesen Fall mit PHP implementieren und den Prozess in wenigen Schritten aufteilen. Und ich speichere die in vorherigen Zeilen ausgewählten Werte in der Sitzung.

Was ist der beste Weg, um dieses Problem zu lösen, ist Speichern von Werten in der Sitzung eine gute Praxis, Meaby sollte ich verwenden bekommen?

Antwort

1

Der beste Weg (für mich) ist Ajax-Request auf ausgewählten Wert in dem ersten Liste und nach dem Ajax-Antwort nur den answert in der zweiten Liste (muss PHP-Skript wiederherstellen Tags Optionen für Ihre Liste) setzen senden

Bsp. (Mit JQuery)

HTML

<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

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