2016-04-18 5 views
1

私はSELECTオプションの価値を取ってPHP変数で使用しようとしていますが、その方法を理解することはできません。手伝って頂けますか。ありがとうございました。ここ は私のコードです:php変数で使用されるselectオプションの値を取得する方法は?

<select name="pcs" id="pcs"> 
      <option class="option" value="8" selected class="selected">8</option> 
      <option value="12">12</option> 
      <option value="16">16</option> 
      <option value="20">20</option> 
      <option value="24">24</option> 
      <option value="24+">над 24</option> 
     </select></br> 

私の目標はそれでいくつかの計算を行い、結果を表示する値を取った後、あります。お手伝いありがとう。

これは、1つの選択肢である:

<select name="pcs" id="pcs" onchange="this.form.submit()"> 
      <option class="option" value="8" selected">8</option> 
      <option value="12" <?php if($pcs =="12") { echo "selected"; } ?>>12</option> 
      <option value="16" <?php if($pcs =="16") { echo "selected"; } ?>>16</option> 
      <option value="20" <?php if($pcs =="20") { echo "selected"; } ?>>20</option> 
      <option value="24" <?php if($pcs =="24") { echo "selected"; } ?>>24</option> 
      <option value="24+" <?php if($pcs =="24+") { echo "selected"; } ?>>над 24</option> 
     </select></br> 

しかし、私はページをリロードする必要はありません。

+0

'$ _POST ['pics']'は、select入力からの値を含むべきです。 [投稿要求](http://www.w3schools.com/php/php_forms.asp)を参照してください。 – Crecket

+0

いつSELECTオプション値を使用しますか?ボタンをクリックするとページが読み込まれます。 – Indrajit

+0

しかし、私は提出することなく、動的に起こりたいです。 – Paspartu

答えて

1

jQueryを使用して、変更または提出時に選択ボックスの値を取得し、値をphpファイルに渡します。これは、Ajaxというsay.phpを使用して必要な計算を行い、その結果をcalculation.phpにエコーします。値を取得し、DIVまたは希望する場所に表示します。 BELOW

例:

main_file.phpは

<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.min.js"></script> 
<script type="text/javascript" src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 

    $("#pcs").on('change', function(){ 
     var pcs_val = $(this).val(); 

     $.ajax({ 
       type: "POST", 
       url: "calculation.php", 
       data: { pcs: pcs_val}, 
       success: function(theResponse) { 

         $('#outputDiv').html(theResponse);            
        }     
      }); 
    }); 

});  
</script> 


<select name="pcs" id="pcs"> 
    <option class="option" value="8" selected class="selected">8</option> 
    <option value="12">12</option> 
    <option value="16">16</option> 
    <option value="20">20</option> 
    <option value="24">24</option> 
    <option value="24+">над 24</option> 
</select></br> 

<div id="outputDiv">--output here--</div>  

calculation.php

<?php 
$pcs = isset($_POST['pcs']) ? $_POST['pcs'] : ''; 
echo 'Calculation Result = '.$pcs; 
?> 
+0

ありがとうございました。 :) – Paspartu

+0

あなたは大歓迎です –

1

AJAX使用せずに、次のことを試してみてください。

<?php 
    $pcs_array = array('8'=>'8','12'=>'12','16'=>'16','20'=>'20','24'=>'24','24+'=>'над 24'); 
    $select_pcs = ''; 
    if(isset($_POST['pcs']) && !empty(isset($_POST['pcs']))){ 
     $select_pcs = $_POST['pcs']; 
    } 
    if(!empty($pcs_array)){ 
?> 
    <select name="pcs" id="pcs"> 
     <?php 
      $option_count = 0; 
      foreach($pcs_array as $k=>$v){ 
       if(!empty($select_pcs) && $select_pcs == $k){ 
        echo '<option class="option" value="'.$k.'" selected class="selected">'.$v.'</option>'; 
       }elseif($option_count == 0 && empty($select_pcs)){ 
        echo '<option class="option" value="'.$k.'" selected class="selected">'.$v.'</option>'; 
       }else{ 
        echo '<option value="'.$k.'">'.$v.'</option>'; 
       } 
       $option_count++; 
      } 
     ?> 
    </select></br> 
<?php  
    } 
?> 
+0

"しかし、私はページをリロードしたくありません"。彼のコードの最後の行を確認してください.. @数学RkBala –

関連する問題