尝试使用 jQuery 从选定标签上的选项中获取值并发布到 php 页面

Posted

技术标签:

【中文标题】尝试使用 jQuery 从选定标签上的选项中获取值并发布到 php 页面【英文标题】:Trying to get value from option on selected tag with jQuery and post to php page 【发布时间】:2017-07-09 00:13:50 【问题描述】:

我正在尝试从所选选项中获取价值并在 php 上发布。但我也有一个发布数据的表格。我正在尝试将两者结合起来,但现在当我尝试运行代码时,我得到一个空白查询页面。

message.php

    <form  id="messageEmployeeForm" class="form table-striped" method="POST" action="core/query.php">

<select  id='toEmployee' class='form-control formBlock' name='toEmployee_id' value='' type='text' class='form-control formBlock'>
                     <option value="">To...</option>
                       <?php
        $employeesQuery = $db->query("SELECT * FROM employees");
        while ($employee = mysqli_fetch_assoc( $employeesQuery)) 
            ?>
      <option id='toEmployees_id' name='toEmployees_id' value="<?php echo $employee['employee_id'] ;?>">

     <?php echo $employee['first_name'] ;?> <?php echo $employee['last_name'] ;?></option>
     <?php  ;?>
    </select> 


//other inputs here...

        <input name="sendMessage" id="submit" type="submit" class="formBlock btn btn-success"  value="Send Message"/>
    </form>

jquery

<script>    

    $(document).ready(function () 
            $("#toEmployee").bind("change", function (e) 
                $.ajax(
                    type: "POST",
                    data:  data: $("#toEmployee").val() 
                );
            );
        );
</script>  

query.php

if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['sendMessage']) && isset($_POST['data']))
$var = $_POST['data'];
//other data to be posted and bind here using prepared statements...

]

【问题讨论】:

也许试试$("#toEmployee option:selected").val()这将采用select的选择值 【参考方案1】:

您的 query.php 文件要求在请求期间存在两个 post 键,如果没有它们,它将不会运行内部代码。

isset($_POST['sendMessage']) && isset($_POST['data'])

因此,在您的 jQuery 中,您需要额外发送 sendMessage 键,如下所示:

$.ajax(
    type: "POST",
    data:  
        data: $("#toEmployee").val(),
        sendMessage: 'your value'
    ,
    success: function(data) 
        // do something with output (data)
    
);

【讨论】:

谢谢。我忘记了。有道理,但当我点击“提交”时 query.php 仍然返回空白。代码更新:$(document).ready(function () $("#toEmployee").bind("change", function (e) $.ajax( type: "POST", data: data: $("#toEmployee").val(), sendMessage: $("#submit").val() ; ); ); ); 您需要在您的 AJAX 请求中添加 success 函数,请参阅更新后的答案。 更新:$(document).ready(function () $("#toEmployee").bind("change", function (e) $.ajax( type: "POST", data: data: $("#toEmployee").val() , sendMessage : $("#submit").val() , success: function(data) if(data === true) jQuery('#successp').css("display","block") ; ); ); ); 您看到错字了吗?空白剧照。 很好,但我用查询解决了这个问题。不得不变魔术。美好的一天!

以上是关于尝试使用 jQuery 从选定标签上的选项中获取值并发布到 php 页面的主要内容,如果未能解决你的问题,请参考以下文章

选项标签值属性的 jQuery 选择器返回 null

如何从我的 jquery 函数中获取表行中选定选项的值

获取select2中选定选项的值,然后使用jquery将值设置为输入文本?

使用 Javascript/jquery 如何从选定行中的每个单元格获取值

使用jQuery从下拉列表(选择框)中获取选定的ID [重复]

如何使用 jquery 从 asp.net 列表框中仅获取当前选定的选项