在jquery中更改按钮的文本

时间:2013-09-23 12:13:14

标签: javascript jquery

我有一块包含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>

3 个答案:

答案 0 :(得分:0)

将按钮的类型提交更改为按钮,因为您正在调用Ajax请求,而不是提交表单。

答案 1 :(得分:0)

我跑了这个jsfiddle,它工作正常 试试吧

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

只需为您单击的按钮声明一个变量,然后通过引用

为其设置.text
$(".a").click(function() {
     var that = $(this);
     ....
     that.text('X'); 
}

答案 2 :(得分:0)

这就是你做错了,改变这个:

  

var position = + k +“,”+ j +“,”+ i;

之类的,

  

var position = + k +“ - ”+ j +“ - ”+ i;