如何获取在 php 变量中使用的 select 选项的值?

How to get value of select option an used in php variable?

我试图获取 SELECT 选项的值并在 php 变量中使用它,但不知道如何使用。您能帮我吗。谢谢你。 这是我的代码:

<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>

我的目标是,在取值后用它进行一些计算并显示结果。谢谢你的帮助。

这是一个选项:

<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>

但我不想重新加载页面。

使用 jQuery 在更改或提交时获取 select 框值,通过 Ajax 说 calculation.php 将值传递给 php 文件,做必要的计算并在 calculation.php 中回显结果。获取值并显示在 DIV 或所需位置。

下面的例子:

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;
?>

在不使用 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       
    }
?>