勾选Javascript中的独家项目

时间:2012-01-05 13:07:03

标签: javascript titanium-mobile checkmark

您好我正在使用Titanium创建一个可以检查的行表。

我需要在Javascript中编写一些代码,只允许检查一行,当检查一行时,其他行未经检查。

我并不担心Titanium部分,而是更多关于一般解决方案。

我知道我需要设置所有行的数组。选中一个方框后,我该怎么办?我如何通过其他人并告诉他们不受限制?

感谢您的帮助。

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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;
            }
        }
    }
}

答案 2 :(得分:0)

互斥复选框?为什么不使用单选按钮(<input type='radio'>)呢?你会免费获得这种行为,对用户来说会更直观。