-2

9 つの小さなボードを含むボードがあり、各小さなボードには 9 つのセル (Ultimate TicTacToe) が含まれます。クリック機能を使用して、クリックしたボタンに「x」を印刷しようとしていますが、ボタンのテキストは変更されず、理由がわかりません。私を助けてください。コードは次のとおりです。

    <script>
        var bigTable = "<table align='center' value='bigBoard' border='0' cellpadding='1' cellspacing='1'\><tbody>";
        for (var k = 0; k < 9; k++) 
        {
            if (k % 3 === 0)
            {
                bigTable += "<tr>";
            }

            bigTable += "<td>";
            var mytable = "<table value='smallBoard'+k border='1' cellpadding='1' cellspacing='1'><tbody><tr>";
            for (var j = 0; j < 3; j++)
            {
                for (var i = 0; i < 3; i++)
                {
                    var position = +k + "," + j + "," + i;
                    mytable += "<td><button class='a' id=" + position + " type='submit' name=" + position + "></button</td>";
                }

                mytable += "</tr><tr>";
            }

            mytable += "</tr></tbody></table>";
            bigTable += mytable + "</td>";

            if (k % 3 === 2)
            {
                bigTable += "</tr>";
            }
        }

        bigTable += "</tbody></table>";
        document.write(bigTable);
    </script>

    <script>
        $(document).ready(function() {
            $(".a").click(function() {
            var buttonPressed = $(this).attr("id");
                jQuery.ajax({
                        data:buttonPressed,
                        url:"board",
                        success: function(responseText){
                            //alert("acac" + buttonPressed);
                            $("#" + buttonPressed).text(responseText);

                        }
                   }); 
                });
            });
    </script>
4

3 に答える 3

0

この jsfiddle を実行しましたが、正常に動作します

http://jsfiddle.net/P8wrb/1/

クリックしたボタンの変数を宣言し、参照によって .text を設定するだけです

$(".a").click(function() {
     var that = $(this);
     ....
     that.text('X'); 
}
于 2013-09-23T12:29:19.573 に答える
0

フォームを送信するのではなく、Ajax リクエストを呼び出しているため、ボタンのタイプ送信からボタンに変更します。

于 2013-09-23T12:24:54.430 に答える