如果Div不可见,则用于更新数据库的PHP / JQuery / AJAX

时间:2013-07-20 00:33:14

标签: php jquery mysql ajax

我有一个复杂的网站设置,所以我只是举一个简单的例子。

当前设置

我有两个按钮。

<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)的次数。

如果display = block,我如何使用AJAX向数据库行添加一个也称为计数器?

我的尝试

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

$.ajax({

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

})

当我这样做时,我的其余JQuery代码崩溃了。不确定这是否有意义,或者我只是写错了。

提前谢谢!

2 个答案:

答案 0 :(得分:2)

我可以看到三个问题:

  1. 正如Akam所说,你已经破坏了if声明。
  2. data不正确 - link_one_shown应该是变量(您还没有定义?)或字符串文字。
  3. 您在ajax功能参数之间缺少逗号。

  4. 以下是修改后的代码:

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

答案 1 :(得分: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");
        }

    });
}