1

私は複雑なウェブサイトの設定をしているので、例を単純なものにします。

現在のセットアップ

私は2つのボタンを持っています。

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

そして、私は2つの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 コードがクラッシュします。これが意味をなさないのか、何か間違ったことを書いただけなのかはわかりません。

前もって感謝します!

4

2 に答える 2

2

私が見ることができる3つの問題:

  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");
        }
    });
}
于 2013-07-20T00:44:10.313 に答える
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");
        }

    });
}
于 2013-07-20T05:06:54.230 に答える