如何在PHP中没有提交按钮获取选择值

时间:2015-03-06 10:44:17

标签: php html select

我想在当前PHP文件中使用select值,但没有提交按钮,我该怎么做?

这是我的代码:

<?php

    $args = array(
                'orderby' => 'name', 
                'order' => 'ASC',
            );

    $pays = get_terms( 'pay', $args );
    $html = '<form action="#" method="post"><select name="selected_pay" id="selected_pay" >';

    foreach ($pays as $pay) {
        $html .= '<option value="'.$pay->name.'">'.$pay->name.'</option>';  
    }

    $html .= '</select></form>';
    echo $html;

?>

我想这样使用它:

<?php 

    if (isset($_POST['selected_pay'])) 
        echo $_POST['selected_pay'];
    else
        echo 'Please select a pay';

?>

2 个答案:

答案 0 :(得分:1)

您不需要提交按钮,但无论如何您需要向服务器发送selected_pa​​y的当前值。

例如,您可以在某些事件上执行此操作。 就像将鼠标悬停在某个元素上或甚至在某个特定时间;) 但是你必须定义事件 - 你想要发送/检查的时刻,如果没有点击提交按钮的话。

我猜你真正想要的是每当使用AJAX进行更改时发送/检查该值。您可以将JQuery与onchange事件一起使用。

jQuery('#selected_pay').change(function(){
   jQuery.post('script.php', {selected_pay: jQuery(this).val()}, function(data){
       jQuery(this).append(data); // show the result from script.php under the select element  
   })

});

答案 1 :(得分:0)

<?php
    $args = array(
        'orderby'           => 'name', 
        'order'             => 'ASC',
    );
    $pays = get_terms( 'pay', $args );
?>
<form method="post">
<label for="combineForm">Un Pays</label>
<select name="selected_pay" id="selectedPay" onChange="form.submit()">
<?php 
    foreach ($pays as $pay) :  ?>
<option value="<?php echo $pay->name; ?>"><?php echo $pay->name; ?></option>
<?php endif; endforeach;?>