我有這個功能是假設改變跨度的html。它第一次運作,但任何點擊後它都不會改變任何東西。我知道查詢正在工作,因爲數據庫正在更新。這是代碼。jquery函數只能工作一次?
$('#availabilityicon').click(function() {
$.ajax({
type: "GET",
url: "includes/changeavailability.php",
success: function(msg) {
if(msg === "available") {
var vailspan = $('span#avail').html('<a id="availabilityicon" href="#"><img align="center" width="16px" height="16px" src="images/available.png" /></a>');
}
else if(msg === "unavailable") {
var availspan = $('span#avail').html('<a id="availabilityicon" href="#"><img align="center" width="16px" height="16px" src="images/unavailable.png" /></a>');
}
}
});
});
這裏是PHP代碼
<?php
session_start();
$user = $_SESSION['username'];
include("dbcon.php");
$result = mysql_query("SELECT availability FROM user WHERE username='$user' ORDER BY id DESC") or die(mysql_error());
$row = mysql_fetch_assoc($result);
$availability = $row['availability'];
if($availability == 'yes') {
$query = mysql_query("UPDATE user SET availability='no' WHERE username='$user'") or die(mysql_error());
echo "unavailable";
}
elseif($availability == 'no' or $availability == "") {
$query = mysql_query("UPDATE user SET availability='yes' WHERE username='$user'") or die(mysql_error());
echo "available";
}
mysql_close($con);
?>
'拼寫錯誤'並不重要 - 該var只是設置爲jQuery選擇器的結果,因此它將成爲跨度。但是,當你指出他將元素替換爲另一個具有相同標識的元素時,就明白了。 +1 –
螢火蟲在參數列表後面說「Missing」。「在這個變化之後 – vacarsu
你已經添加了一個額外的開頭'(''''在'function'之前......刪除它並且它會工作 – Clive