Javascript 在第二个选择框中禁用第一个选择框的选定选项
我想通过插入学生的科目名称和分数范围来查找学生的数据。教师可以使用“添加”按钮添加新主题,也可以删除该主题。此外,上一行中已选择的主题/选项将在下一新行中禁用Javascript 在第二个选择框中禁用第一个选择框的选定选项,javascript,jquery,html,jsp,Javascript,Jquery,Html,Jsp,我想通过插入学生的科目名称和分数范围来查找学生的数据。教师可以使用“添加”按钮添加新主题,也可以删除该主题。此外,上一行中已选择的主题/选项将在下一新行中禁用 下面是html代码 删除行 数学 物理的 化学 生物 最低得分: 最大值: 下面是JavaScript代码 function addRow(tableID) { var table = document.getElementById(tableID); var rowCount = t
删除行
数学
物理的
化学
生物
最低得分:
最大值:
下面是JavaScript代码
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for(var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[0].cells[i].innerHTML;
//alert(newcell.childNodes);
switch(newcell.childNodes[0].type) {
case "#text":
newcell.childNodes[0].value = "";
break;
case "#checkbox":
newcell.childNodes[0].checked = false;
break;
case "#select-one":
newcell.childNodes[0].selectedIndex = 0;
break;
}
}
}
//--------------
function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=0; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
if(rowCount <= 1) {
alert("Cannot delete all the rows.");
break;
}
table.deleteRow(i);
rowCount--;
i--;
}
}
}catch(e) {
alert(e);
}
}
函数addRow(tableID){
var table=document.getElementById(tableID);
var rowCount=table.rows.length;
var row=table.insertRow(rowCount);
var colCount=table.rows[0].cells.length;
对于(var i=0;i,我们可以使用一个单独的表以隐藏模式存储数据集,并在其中维护选择状态。
除了隐藏元素,您还可以在javascript
变量中维护状态
function syncModdelAdd(tableID){
// Get the available selections
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var dataTable = document.getElementById('dataTable');
for(var i=0; i<rowCount; i++){
var selectedIndex = table.rows[i].cells[1].childNodes[1].selectedIndex;
dataTable.rows[0].cells[1].childNodes[1].options[selectedIndex].disabled=true;
}
}
function syncModelDelete(selectedIndex){
var dataTable = document.getElementById('dataTable');
dataTable.rows[0].cells[1].childNodes[1].options[selectedIndex].disabled=false;
var table = document.getElementById('resultTable');
var totalRows = table.rows.length;
table.rows[totalRows-1].cells[1].childNodes[1].options[selectedIndex].disabled=false;
}
函数syncModdelAdd(tableID){
//获取可用的选项
var table=document.getElementById(tableID);
var rowCount=table.rows.length;
var dataTable=document.getElementById('dataTable');
对于(var i=0;我尝试了代码,这很有帮助,但是当我删除行时出现问题,选项仍然是禁用的。但是我将尝试自己调整代码,看看它是否有效。非常感谢。
function syncModdelAdd(tableID){
// Get the available selections
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var dataTable = document.getElementById('dataTable');
for(var i=0; i<rowCount; i++){
var selectedIndex = table.rows[i].cells[1].childNodes[1].selectedIndex;
dataTable.rows[0].cells[1].childNodes[1].options[selectedIndex].disabled=true;
}
}
function syncModelDelete(selectedIndex){
var dataTable = document.getElementById('dataTable');
dataTable.rows[0].cells[1].childNodes[1].options[selectedIndex].disabled=false;
var table = document.getElementById('resultTable');
var totalRows = table.rows.length;
table.rows[totalRows-1].cells[1].childNodes[1].options[selectedIndex].disabled=false;
}