簡體   English   中英

獲取select的選定選項並在PHP中顯示選定的選項

[英]Get the selected option of select & show the selected option in PHP

我已經嘗試了很多並進行了很多搜索,但沒有找到解決方案。

我有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);

但是我沒有得到價值。 我不想提交的東西。 只有Onchange才應該獲得價值。 有可能嗎?

是的,如果要提交表單,可以在下拉列表的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);
});
<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>

如果您希望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']值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM