-1

我想使用 jQuery 构建一系列六个按钮,其值为 A、B、C、1、2、3。每次用户单击按钮时,其值都会附加到文本字段中。但是,用户不能连续添加两个字母或两个数字。因此,如果按下 A、B 或 C,则只有数字有效,反之亦然。

4

1 回答 1

0

这应该这样做:

function createButton(target, val, fn) {
    var btn = document.createElement("button");
    btn.value = val;
    btn.onclick = function() {
        fn(val);
    };
    target.appendChild(btn);
}

var state = null,
    values = [];
function addLetter(l) {
    if (state == "letter") return false;
    state = "letter";
    values.push(l);
    update();
}
function addNumber(n) {
    if (state == "number") return false;
    state = "number";
    values.push(n);
    update();
}

createButton(inputs, "A", addLetter);
createButton(inputs, "B", addLetter);
createButton(inputs, "C", addLetter);
createButton(inputs, 1, addNumber);
createButton(inputs, 2, addNumber);
createButton(inputs, 3, addNumber);

function update() {
    // do something with values
}

jsfiddle.net 上的演示

于 2013-03-16T16:50:39.333 回答