首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取选定的下拉值- PHP

获取选定的下拉值- PHP
EN

Stack Overflow用户
提问于 2019-02-26 17:22:53
回答 1查看 85关注 0票数 0

我有一个下拉列表,其中填充了从数据库中得到的值。我需要根据所选选项执行一些查询,但首先需要将所选值保存在一个新变量上。

这是我的下课:

代码语言:javascript
复制
<form name="dashboard_form" action="" id="dashboard_form" method="post">
    <tr>
     <td><?php _e('Select City')?>:</td>
     <td>
        <select class="selected_city" name="selected_city" style="margin: 20px;width:300px;" required>
        <?php
          foreach ( $all_cities as $city ) 
           {
            echo '<option value='.$city->ID.'>'.$city->name.'</option>';
           }
         ?>
        </select>
        </td>
     </tr>
</form>

*$all_cities是一个包含所有城市的数组。

我的jQuery:

代码语言:javascript
复制
<script>
            jQuery("#dashboard_form").validate({
                ignore:'',
                rules: {
                    'selected_city': {
                     required: true
                }},
                messages: {
                    'selected_city': "Please Select a City",
                },
                errorPlacement: function(error, element) {
                    jQuery(element).closest('tr').next().find('.error_label').html(error);
                }
            });
</script>

如何在$new_variable中保存从下拉列表中选择的值?

编辑1:

我将以下内容添加到

代码语言:javascript
复制
$(document).ready(function () {
    var selected_city;

    $('.selected_city').change(function() {
        selected_city = $(this).val();
        alert(selected_city);
    });
});

警报( selected_city )打印正确的城市,我如何在PHP上使用这个selected_city?

EDIT2:问题是下拉列表没有提交任何内容,所以我创建了一个按钮来强制它提交:

代码语言:javascript
复制
 <input type="submit" value="<?php _e('Send Now')?>" name="send_now_button" id="send_now_button" class="button button-primary">

然后:

代码语言:javascript
复制
if(isset($_POST['send_now_button'])){
        if(isset($_POST['selected_city'])) { $selected_city = $_POST['selected_city']; } else {$selected_city = 'Lisboa';  } }

现在,当我回显$selected_cities_id时,它会给出正确的值!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-26 18:35:54

您的HTML无效。<tr>不可能是<form>的孩子,它必须是孩子或<table><tbody><thead><tfoot>。这可能会阻止<select>被视为表单的一部分,因此不会提交任何内容。

你需要把表格放在整个桌子上。

代码语言:javascript
复制
<form name="dashboard_form" action="" id="dashboard_form" method="post">
    <table>
        ...
        <tr>
            <td><?php _e('Select City')?>:</td>
            <td>
                <select class="selected_city" name="selected_city" style="margin: 20px;width:300px;" required>
                <?php
                foreach ( $all_cities as $city ) 
                {
                    echo '<option value='.$city->ID.'>'.$city->name.'</option>';
                }
                ?>
                </select>
            </td>
        </tr>
        ...
    </table>
</form>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54890949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档