2017-11-22 11 views
-3

私は2つの選択入力を持つフォームを持っていますが、これはユーザーがこの選択からオプションを選択すると、このオプションの値は関数に渡されなければなりません入力。だから、(例えば)のように見えます:PHP関数へのオプション選択値の受け渡し

<select name="firstselect"> 
<option value="1">Var 1</option> 
<option value="2">Var 2</option> 
</select> 

そして、そこ第2の選択になりますが、この入力がどのように見えるれ、PHPの関数によって返される必要があります。

<?php echo secondselect($firstselect); ?> 

だから、ときに、ユーザーselectオプションの値がvar1の場合、エコーは次のようになります。

<?php echo secondselect(1); ?> 

ただし、ページを再読み込みする必要はありません。 私はいくつかの選択入力を行うことができ、最初の選択の変更値でそれらを表示または非表示にすることができますが、最終的に50以上のオプションがあるので、PHP関数の変数を変更する方が良いでしょう。

+2

ajax'再び '' Google' Search' – Pedram

+0

ます。https:// WWWこのようにJavaScriptを

... .google.co.uk/search?q = php + ajax +カスケード+ドロップダウン&oq = php + ajax +カスケード+ドロップダウン&aqs = chrome..69i57j0l5.8975j0j7&sourceid = chrome&ie = UTF-8 50個のオプションを指定しても、PHPで値を返すためには、サーバーにajaxを呼び出すよりも、Javascriptで行うほうが早いでしょう。 – ADyson

+1

[phpからajaxにデータを戻す]の重複の可能性があります(https://stackoverflow.com/questions/10960471/passing-data-back-from-php-to-ajax) – Pedram

答えて

0

PHPでこれを行う必要があるとは想像もできません。

ページをリロードせずに`` Google` Search` `` jquery`で

function secondselect(_first_select){ 
 
    \t var out=null; 
 
    \t var select_value=$('[name=firstselect]').val(); 
 
    \t $('[name=firstselect] option').each(function(){ 
 

 
    \t \t if($(this).val()!=select_value){ 
 
    \t \t \t out=$(this).val(); 
 
    \t \t } 
 
    \t }); 
 
    \t return out; 
 
    } 
 

 
    $('[name=firstselect]').change(function(){ 
 
    \t alert('second value of select : ' + secondselect( $(this).val())); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 

 
<select name="firstselect"> 
 
    <option value="1">Var 1</option> 
 
    <option value="2">Var 2</option> 
 
</select>

関連する問題