1 回答

TA貢獻1790條經(jīng)驗 獲得超9個贊
您可以將一些值從 php 傳遞到 ajax 調(diào)用,并根據(jù)該值顯示所需的按鈕。因此您的 php 代碼將如下所示:
..
if($srow['status']=='A')
{
$sql = "UPDATE contacts SET status='D' WHERE con_id=".$id;
echo "D";//will get passed as response to ajax
}
else
if($srow['status']=='D')
{
$sql = "UPDATE contacts SET status='A' WHERE con_id=".$id;
echo "A";//will get passed to ajax as response
}
您的 ajax 成功函數(shù)將如下所示:
..
success: function(data) {
var d = $.trim(data); //triming value if there is any whitespaces
if (d == "A") {
//means data is activate so show that button
$("#"+del_id+ ".btn-success").show();
//hiding other
$("#"+del_id +".btn-danger").hide();
} else {
//show deactivate buttton
$("#"+del_id +".btn-danger").show();
//hide other button
$("#"+del_id +".btn-success").hide();
}
}
更新 1:
因為你習(xí)慣if-else顯示按鈕所以我在這里忘記了在這種情況下其他按鈕將不存在這就是 jquery 無法找到其他按鈕并顯示空白的原因?,F(xiàn)在,要解決這個問題你需要在你的 php 代碼中進行一些更改您顯示表格的位置。您需要進行的更改如下:
改變這個:
<?php if($ConRow['status']=='A') { ?>
<td><button id="<?php echo $ConRow['con_id']; ?>" class="delbutton btn btn-danger btn-sm">De-Activate</button> </td>
<?php } else if($ConRow['status']=='D') { ?>
<td><button id="<?php echo $ConRow['con_id']; ?>" class="delbutton btn btn-success btn-sm">Activate</button> </td>
<?php } ?>
到下面:
<td> <div class="<?php echo $ConRow['con_id']; ?>"> <?php if($ConRow['status']=='A') { ?>
<button id="<?php echo $ConRow['con_id']; ?>" class="delbutton btn btn-danger btn-sm">De-Activate</button>
<?php } else if($ConRow['status']=='D') { ?>
<button id="<?php echo $ConRow['con_id']; ?>" class="delbutton btn btn-success btn-sm">Activate</button>
<?php } ?> </div> </td>
現(xiàn)在,在 ajax success 函數(shù)中,我們將使用.html在里面添加按鈕<div></div>。所以 ajax 將如下所示:
if (d == "A") {
$("." + del_id).html('<button id="' + del_id + '" class="delbutton btn btn-danger btn-sm">De-Activate</button>');
} else {
$("." + del_id).html(' <button id="' + del_id + '" class="delbutton btn btn-success btn-sm">Activate</button> ');
}
- 1 回答
- 0 關(guān)注
- 124 瀏覽
添加回答
舉報