首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

JSP 動態生成 Radio 群組:JavaScript 遍歷表格行獲取選中值

     編輯:程式設計綜合問答

場景

線上評分系統,每題選項為一組 Radio,名稱動態生成(如 `q_1`, `q_2`...),無法用固定 `getElementsByName` 獲取。

解決方案:遍歷表格行,行內查找 Radio

function getRadioKV() {
    var tb = document.getElementById('scoreTable'); // 給 table 加 id
    var params = '';
    for (var i = 0; i < tb.rows.length; i++) {
        var inputs = tb.rows[i].getElementsByTagName('input');
        var selected = false;
        for (var j = 0; j < inputs.length; j++) {
            if (inputs[j].type === 'radio' && inputs[j].checked) {
                params += '&' + encodeURIComponent(inputs[j].name) + '=' + encodeURIComponent(inputs[j].value);
                selected = true;
                break; // 每行只有一個被選中
            }
        }
        if (!selected) {
            alert('第 ' + (i+1) + ' 題未作答!');
            inputs[0].focus();
            return null;
        }
    }
    return params.substring(1); // 去掉首個 &
}

// 使用
var data = getRadioKV();
if (data) {
    // AJAX 提交或表單提交
    console.log(data);
}

JSP 生成時的關鍵點