還好最後我得到了解決這個事情的方式。如果任何人有一天有相同的問題,那麼這可能會有幫助。
的html代碼:
<tr class="tr">
<td class="td">
<div id="status">
<?php
echo ($row['status'] == 1)?
"<span id='".$row['id']."' class='label label-danger'>Inactive</span>":
"<span id='".$row['id']."' class='label label-success'>Active</span>";
?>
</div>
</td>
</tr>
我jQuery代碼:
$(document).ready(function()
{
$("#status > span") .click(function()
{
var id = $(this).attr('id');
var tempelement = $(this);
var texts = $(this).closest(".tr").find("#texts").val();
var author = $(this).closest(".tr").find("#author").val();
var status = $(this).text();
$.ajax({
type: 'POST',
url: 'manage_feedback.php',
data: {id:id, texts:texts, author:author, status:status},
success: function(data)
{
if (data == "Active")
{
$(tempelement).removeClass("label label-danger");
$(tempelement).addClass("label label-success");
$(tempelement).html(data);
alert('status changed');
}
else if (data == "Inactive")
{
$(tempelement).removeClass("label label-success");
$(tempelement).addClass("label label-danger");
$(tempelement).html(data);
alert('status changed');
}
else
{
alert(data);
}
}
});
});
php腳本
//ajax status changer code
if (isset($_POST['id']) && isset($_POST['texts']) && isset($_POST['status']) && isset($_POST['author']))
{
\t $id = $_POST['id'];
\t $texts = trim($_POST['texts']);
\t $author = trim($_POST['author']);
\t $status = $_POST['status'];
\t $qry = "SELECT count(id) as count FROM tbl_testimonials WHERE texts = '".$texts."'
\t \t \t AND author = '".$author."' AND id != ".$id." ";
\t $sql = mysql_query($qry);
\t $data = mysql_fetch_assoc($sql);
\t
\t if ($data['count'] == 0)
\t {
\t \t if($status == 'Inactive')
\t \t {
\t \t \t $qry = "UPDATE tbl_testimonials SET status = 0 WHERE id = ".$id." " ;
\t \t \t $sql = mysql_query($qry);
\t \t \t if($sql == 1)
\t \t \t {
\t \t \t \t echo 'Active';
\t \t \t \t exit;
\t \t \t }
\t \t }
\t \t elseif ($status == 'Active')
\t \t {
\t \t \t $qry = "UPDATE tbl_testimonials SET status = 1 WHERE id = ".$id." " ;
\t \t \t $sql = mysql_query($qry);
\t \t \t if($sql == 1)
\t \t \t {
\t \t \t \t echo 'Inactive';
\t \t \t \t exit;
\t \t \t }
\t \t }
\t }
\t else
\t {
\t \t echo "name already taken";
\t \t exit;
\t }
}
希望它能幫助別人。
看起來你錯過了兩個功能上的閉合零件。 – mezmi
檢查HTML現在隊友:)謝謝 – Hardy
我無法理解你,這意味着我高於你。 –