1

我将创建一个计数器,在用户按下数字键盘上的 + 按钮时从 0 计数到 100 一步。

这样做的目的是创建一个商店柜台(我们在显示器上显示当前客户编号,我希望它成为基于网络的)。所以我正在使用 jQuery,我希望当前数字也存储在 MySQL 数据库中。

我该怎么做呢?我不想使用表格,但如果必须,我会。我尝试了一些解决方案,但没有一个真正可用。问题是我对jQuery的了解不够。所以在正确的方向上的一些指针会很好。

我希望流程是这样的:

我有一个包含我将从数据库中获取的数字的元素,到目前为止一切顺利,我自己肯定可以做到这一点。但是,然后用户在小键盘上按 + 我希望这个值增加 1。然后我希望脚本将这个新值存储在数据库中并从数据库中获取新值并再次将其呈现在元素中。

正如我所说,我非常感谢您对此提出一些建议。也许我想多了。

顺便说一句,我正在使用 PHP。

4

2 回答 2

1

因此,您需要处理被单击的“+”按钮,并进行 AJAX 调用。就像是:

http://jsfiddle.net/QE3xd/1/

HTML:

<input type="text" id="current" readonly="readonly" value="2" />
<input type="button" id="increaser" value="+" />

Javascript:

$(document).ready(function () {
    $("#increaser").on("click", add);
});

function add() {
    // Make AJAX call to PHP method (where DB operation is done)

    $.ajax({
        url: "/echo/json/",
        cache: false,
        data: {"increment_by": 1},  // This line may be unnecessary, as you could assume it increases the value by 1 every time (but using this could make it customizable
        dataType: "json",
        success: function (data) {
            // Should return data in format: {"new_current": 4}
            //$("#current").val(data.new_current);
            // ^^ the real line
            $("#current").val(+$("#current").val()+1);
            // ^^ just to simulate the new number being returned
        },
        error: function () {
            console.log("there was an error");
        }
    });
}
于 2012-10-12T15:02:46.217 回答
0

您所描述的是一个典型的 MVVM 问题。具有交互的按钮和显示元素的用户界面。

我有一些很好的经验,可以结合使用knockoutjs库和 jquery来解决此类问题。在教程中是一个带有 counter 的示例,就像你的一样。

其他 2 个要求(检测小键盘键和发布)可以通过按键插件和 jquery 轻松解决$.post

于 2012-10-12T15:04:05.687 回答