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

时间:2016-04-18 07:37:38

标签: php select display

我试图获取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>

但我不希望页面重新加载。

2 个答案:

答案 0 :(得分:1)

使用jQuery获取更改或提交时的选择框值,通过Ajax将值传递给php文件说compute.php,进行必要的计算并在calculate.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;
?>

答案 1 :(得分: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       
    }
?>