我試圖在jQuery ajax方法中編寫一些if/else條件。我不太瞭解jQuery,所以我可能只是犯了一個愚蠢的小的語法錯誤。但這裏是:jQuery if/else語句
function swapContent(count,product)
{
$.ajax(
{
type: "POST",
dataType: 'json',
url: "includes/price-update.php",
data: {countVar: count, ProductID: product},
success: function(data)
{
console.log(data);
$('.cleardata').remove();
$.each(data, function()
{
$(".price-data").append(
$("<tr class='cleardata'/>")
if (data.InStock == "In Stock") {
$('.in-stock-row').text ('Yes');
}
else if (data.InStock == "Unavaiable"){
$('.in-stock-row').text ('No');
}
else{
$('.in-stock-row').text ('-');
}
.append("<td class='store-row'><h5 property='seller'>" + this.MerchantName + "</h5></td>")
.append("<td class='price-row'><h5 property='price'>$" + this.Price + "</h5></td>")
.append("<td class='in-stock-row'><h5>" + this.InStock + "</h5></td>")
.append("<td class='merch-row'><a property='url' target='_blank' href='" + this.PageURL + "' class='merch-but'>GET IT</a></td>")
);
})
}
});
}
</script>
除了if/else語句之外,一切都很好用。我不確定return
是否是回顯數據的正確方法。我是一個PHP人,所以jQuery仍然是全新的。謝謝你的幫助。
編輯:我只是根據一些建議改變了代碼,這就是我所擁有的,現在我的表中沒有任何東西顯示出來。
第二次編輯:附加JSON數據的圖像進行調試。
第三編輯:發佈PHP數據
<?php
$countVar = $_POST['countVar'];
$ProductID = $_POST['ProductID'];
$data = PriceCompare($countVar, $ProductID);
echo json_encode($data);
function PriceCompare($countVar, $ProductID){
$DBH = new PDO('mysql:host=localhost;dbname=---','---','---');
$STH = $DBH->query('SELECT MerchantName, Price, PageURL, InStock
FROM merchants
WHERE ProductID=' . $ProductID .' AND Count=' . $countVar . '
ORDER BY Price');
$result = $STH->fetchAll();
return $result;
}
?>
EDIT四:從通過改變PHP下面固定JSON數據的fetchall
方法fetchall(PDO::FETCH_ASSOC)
結果得到兩套數據的固定JSON數據。儘管如此,仍然沒有在庫存表字段中獲得正確的結果。
你是不是指'else if'代替你的第二個'if'? – brbcoding
你的錯誤是什麼,沒有返回?我不認爲你在回報聲明中需要括號。嘗試先取出這些。 – user1477388
你會想要指定你想要回顯的地方,例如 '
'將會是HTML頁面的某個地方的容器,然後你可以這樣做而不是'return(「是」);'你會這樣做' $('。response')。text('Yes');' –