获取选择和选择的选项在PHP中显示所选选项

时间:2014-02-15 06:11:06

标签: php html

我已经尝试了很多&搜索了很多,但我没有找到解决方案。

我有HTML代码

HTML

<form id="program_mode" action="" method="post">
        <select name="mode" id="mode">
            <option>Select</option>
            <option value="<?php echo $vars['url']?>pg/event_calendar/all" <?php if($mode == 'All') echo 'selected="selected"'; ?>>All</option>
            <option value="<?php echo $vars['url']?>pg/event_calendar/anytime" <?php if($mode == 'Online') echo 'selected="selected"'; ?>>Online</option>
            <option value="<?php echo $vars['url']?>pg/event_calendar/offline" <?php if($mode == 'Offline') echo 'selected="selected"'; ?>>Offline</option>
        </select>
        </form>

然后我想在php部分选择选项。

所以我写得像

PHP

$mode = $_POST['mode'];
var_dump($mode);

但我没有得到这个价值。我不想提交的事情。只有它才能获得价值。可以吗?

3 个答案:

答案 0 :(得分:0)

您确定,如果您想提交表单,可以在下拉列表的onchange事件中使用form.submit(),如下所示:

<select name="mode" id="mode" onchange="form.submit();">

可以访问PHP中的值,如:

if(isset($_POST['mode'])){
    var_dump($_POST['mode']);
    //extra code    
}

如果您不想提交表单,可以使用jquery函数选择所选值:然后从选择框中删除onchange事件处理程序:

<select name="mode" id="mode">

并添加以下jquery函数:

$('#mode').change(function(e) {
    var val =   $(this).val();
    alert(val);
});

答案 1 :(得分:0)

<form id="program_mode" action="" method="post">
    <select name="mode" id="mode" onchange="val_changed()">
        <option>Select</option>
        <option value="<?php echo $vars['url']?>pg/event_calendar/all" <?php if($mode == 'All') echo 'selected="selected"'; ?>>All</option>
        <option value="<?php echo $vars['url']?>pg/event_calendar/anytime" <?php if($mode == 'Online') echo 'selected="selected"'; ?>>Online</option>
        <option value="<?php echo $vars['url']?>pg/event_calendar/offline" <?php if($mode == 'Offline') echo 'selected="selected"'; ?>>Offline</option>
    </select>
    </form>

你可以使用这个

进行少量jquery
    <script>
function val_changed()
        {
        var mode=$('#mode').val();

        }
</script>

答案 2 :(得分:0)

如果您希望PHP仅在选项更改时获取值,则应使用JavaScript或jQuery。 包括 jQuery 库:

<script src="http://code.jquery.com/jquery-latest.js"></script>

然后在<script></script>代码中添加以下代码。

$(document).ready(function(){
 $("#mode").change(function(){
  $.post("php_file.php", {mode:$(this).val()});
 });
});

当选项更改时,jQuery会在后台向php_file.php发送 POST 请求mode值。 PHP将负责其余部分。

这通常像提交给PHP文件的表单一样。因此,您将在PHP文件中获得$_POST['mode']值。