-1

jQueryを使用して、値A、B、C、1、2、3の一連の6つのボタンを作成したいと思います。ユーザーがボタンをクリックするたびに、その値がテキストフィールドに追加されます。ただし、ユーザーは2つの文字または2つの数字を続けて追加できないようにする必要があります。したがって、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 に答える