0

divのリストがあります。これは、ユーザーが列をクリックすると、データスクエアがそれを変数に割り当て、別の列をクリックするとデータが変数に割り当てられるようにすることです。

私はajaxによってphpに値を送信する方法を知っています。変数を取得するという事実だけが問題です。これはボードゲームで、サーバーとの間で2つの変数を送信する必要があります

<div class="column" data-square="4-4">
    <div class="lol">p</div>
</div>
<div class="column" data-square="4-5">
    <div class="lol">p</div>
</div>

<div class="column" data-square="4-6">
    <div class="lol">p</div>
</div>

$( ".column" ).click(function(){
    var from = $(this).data('square');
    var to = $(this).data('square');    
    alert(to);
    alert(from);
});

たとえば、データ二乗pの値が異なる10 div // 10があり、ユーザーがそれらの1つをクリックすると、データ二乗値が変数に格納されます。ユーザーが別のdivをもう一度クリックすると、変数が格納されます。変数で

4

3 に答える 3

2

これを行う1つの方法があります。クリックイベントの外部から変数fromtoアクセスできるようにし、それらの値を追跡します。最初にに値を割り当てfrom、次にに値を割り当ててto、ajaxリクエストを実行します。Javascriptは次のようになります。

// Create a function scope so we don't messy the global one
(function() {

    var from = null;
    var to = null;

    $(".column" ).click(function(){
        if(from === null)
        {
            from = $(this).data('square');
        }
        else
        {
            to = $(this).data('square');

            //
            // DO YOUR AJAX STUFF HERE
            //

            // Reset
            from = to = null;
        }
    });

}());

これがJSFiddleのデモです

于 2012-04-22T14:01:37.753 に答える
0

Jqueryのajax関係を知っている場合は$.ajax({... });、JSON型のJqueryのajax関数()を使用してphpファイルにデータを渡す必要があります。phpのjson_encode関数(のようなecho json_encode($array);)の後に、phpファイルから配列をフェッチできます。

于 2012-04-22T14:08:04.160 に答える
0

いじる:

http://jsfiddle.net/iambriansreed/4674X/ HTML:

<div id="notes">
    <span class="note1">Click Move From</span>
    <span class="note2">Click Move To</span>
    <span class="note3"></span>
</div>
<div class="column" data-square="4-4">
    <div class="lol">p</div>
</div>
<div class="column" data-square="4-5">
    <div class="lol">p</div>
</div>

<div class="column" data-square="4-6">
    <div class="lol">p</div>
</div>

jQuery:var from_data = false、to_data = false;

$('#notes .note1').show().siblings().hide(); 

$( ".column" ).click(function(){

    if(from_data && to_data) return;  

    if(!from_data){
        $('#notes .note2').show().siblings().hide(); 
        from_data = $(this).data('square');

    }else if(!to_data){
        to_data = $(this).data('square');

        $('#notes .note3').text(
        'Moved from '+from_data+' to '+to_data+'.'
        ).show().siblings().hide();


        setTimeout(function(){
            $('#notes .note3').fadeOut(function(){
                from_data = false; to_data = false;
                $('#notes .note1').show().siblings().hide();                
            });        
        },2000);

    }

});​
于 2012-04-22T14:13:47.127 に答える