这是我第一次来这里。感谢您有机会成为这个社区的一员。
我有一个PHP代码,可以生成一个包含mySQL数据库数据的表。它将列出:
$output .='<tr id="'.$id.'">';
$output .='<td>'.$agency.'</td>';
$output .='<td>'.$contact.'</td>';
$output .='<td align="left">'.$telephone.'</td>';
$output .='<td align="left">'.$email.'</td>';
$output .='<form name="seleciona" id="seleciona">';
$output .='<td align="left"><select id="ativo" name="ativo">
<option value=""></option>
<option value="1">Active</option>
<option value="2">Pending</option>
<option value="3">Suspended</option>
</select>
<img class="apply" src="../images/apply.png" width="16" height="16"></td>';
$output .='</form>';
$output .='</tr>';
然后我想通过jQuery在选择下拉框中发送所选选项 当用户单击图像apply.png时,到一个名为post_status.php的PHP文件。一切正常,唯一的问题是获取所选框的值并将其与id一起发送到PHP页面。
这是jQuery
<script>
$(document).ready(function(){
$('#table2 td img.apply').click(function(){
if (confirm("Do you want to change this status?")) {
var parent = $(this).closest('TR');
var id = parent.attr('id');
var activation ---> here should be the code to catch up the selected value
$.post("post_activation.php", { id: id, activation: activation } );
alert("Status has been updated!"+id+activation);
}
return false;
});
});
</script>
最后是文件post_activation.php
<?php
include "../connect_to_mysql.php";
if(isset($_POST['id'])){
$id=$_POST['id'];
$activation=$_POST['activation'];
$sql=mysql_query("UPDATE agencies
SET
active='$activation',
last_update=CURDATE()
WHERE
id='$id'")or die(mysql_error());
}
?>
答案 0 :(得分:1)
请尝试<select id="ativo'.$id.'" name="ativo">
作为HTML部分。
并在jQuery部分var activation = $("#ativo"+parent.attr('id')).val();
你的答案是......
答案 1 :(得分:0)
这应该可以找到当前选择的值:
var element = document.getElementById("ativo");
var selected = element.options[element.selectedIndex].text;
activation = selected;
您还可以查看this demonstration
答案 2 :(得分:-1)
var activation = $("#ativo").html(); // gives you Active,Pending,Suspended
OR
var activation = $("#ativo").text(); // gives you Active,Pending,Suspended
和
var activation = $("#ativo").val(); // gives you 1,2,3