2013-07-20 16 views
1

我有一個複雜的網站設置,因此我將舉個簡單的例子。用於更新數據庫的PHP/JQuery/AJAX(如果Div不可見)

當前設置

我有兩個按鈕。

<a id="one" href="#">Link 1</a> 
<a id="two" href="#">Link 2</a> 

我有兩個div

<div id="showOne" style="display:none">1</div> 
<div id="showTwo" style="display:none">2</div> 

這是我的jQuery代碼

$('#one').click(function (e) { 
    $('#showOne').show(); 
}); 

$('#two').click(function (e) { 
    $('#showTwo').show(); 
}); 

我正在試圖完成

基本上,我有一個數據庫表格設置有一行來計算div(showOne)和顯示div(showTwo)。

如何使用AJAX將一個數據庫行添加到另一個計數器if display = block?

我嘗試

$('#one').is(":visible") 
{ 

$.ajax({ 

    type:"POST" 
    url: update.php 
    data: {type:link_one_shown} 
    success: function(data){ 
     alert("Test"); 
    } 

}) 

當我這樣做,我的jQuery代碼崩潰的其餘部分。不知道這是否有意義,或者我寫錯了什麼。

預先感謝您!

+2

其中是'if'?你在這裏錯過了$('#one')。is(「:visible」)'or? – 2013-07-20 00:34:43

+0

var counter = 0;函數doSomthing(){alert(counter ++); }; doSomthing(); doSomthing(); doSomthing(); // 1,2,3 – Yevgen

回答

2

三個問題,我可以看到:

  1. 作爲阿卡姆筆記,你已經毀損了if聲明。
  2. data不正確 - link_one_shown應該是變量(您尚未定義?)或字符串文字。
  3. 您錯過了ajax函數參數之間的逗號。

下面是修改後的代碼:

if ($('#showOne').is(":visible")) { 
    $.ajax({ 
     type:"POST", 
     url: update.php, 
     data: { type: "link_one_shown" }, 
     success: function(data){ 
      alert("Test"); 
     } 
    }); 
} 
+0

只需關閉IF括號或移除括號,因爲只有一個方法在IF –

+0

@NikolaR中調用。哎呀。謝謝。 – McGarnagle

0

爲什麼不只是移動Ajax調用函數並調用它表明div時,這樣就避免了重複代碼,並使其更簡單。

$('#one').click(function (e) { 
    $('#showOne').show(); 
    updateDB('link_one'); 
}); 

$('#two').click(function (e) { 
    $('#showTwo').show(); 
    updateDB('link_two'); 
}); 


function updateDB(link) 
{ 
    $.ajax({ 

     type:"POST" 
     url: update.php 
     data: {type:link} 
     success: function(data){ 
      alert("Test"); 
     } 

    }); 
} 
+0

試過並且無法使它工作。但是,如果我將ajax部分取出並調用警報,則它工作正常 – user1834218