尝试使用 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 页面的主要内容,如果未能解决你的问题,请参考以下文章
获取select2中选定选项的值,然后使用jquery将值设置为输入文本?
使用 Javascript/jquery 如何从选定行中的每个单元格获取值