1

こんにちは、チタニウムを使用して、チェックできる行のテーブルを作成しています。

Javascript でコードを記述して、1 つの行のみをチェックし、1 つの行をチェックすると他の行をチェックしないようにする必要があります。

私はチタンの部分については心配していませんが、一般的な解決策についてもっと心配しています.

すべての行の配列を設定する必要があることはわかっています。1 つのボックスがチェックされたら、次に何をすればよいですか? どうすれば他のものを調べて、チェックを外すように言うことができますか?

ご協力いただきありがとうございます。

4

3 に答える 3

1

実例: http: //jsfiddle.net/ztm82/

function doit(table, event) {
    if (event.target.nodeName === "INPUT"
        && event.target.type === "checkbox"
        && event.target.checked)
    {
        var rows = table.tBodies[0].rows;

        for (var i = 0; i < rows.length; i++)
        {
            var input = rows[i].getElementsByTagName("INPUT")[0];

            if (input !== event.target)
            {
                input.checked = false;
            }
        }
    }
}
于 2012-01-05T13:19:22.683 に答える
1

次のようなことを試してください:

var checkboxes = document.querySelectorAll('#myTable input[type="checkbox"]'),
    checkboxClickHandler,
    i;
checkboxClickHandler = function (event) {
    var i;

    // only uncheck if target is a checkbox which has been checked
    if (event.target.checked) {
        for (i = 0; i < checkboxes.length; i++) {

            // don't uncheck clicked box
            if (checkboxes[i] !== event.target) {
                checkboxes[i].checked = false;
            }
        }
    }
};
document.getElementById('#myTable').addEventListener('click', checkboxClickHandler, false);
于 2012-01-05T13:16:22.047 に答える
0

相互に排他的なチェックボックス? <input type='radio'>代わりにラジオ ボタン ( ) を使用しないのはなぜですか? この動作は無料で利用でき、ユーザーにとってより直感的になります。

于 2012-01-05T13:23:54.347 に答える