我目前正在尝试替换使用 table
的旧方法。与 div 和我成功完成但我陷入了一个问题。情况是,在我的表方法中,我隐藏了一些 <tr style="display:none;">
使用某些 java 脚本函数不需要这些,并在需要时显示。
现在我正在按 div 转换表格行和列,我用来显示的方法仅适用于表格。当 .php
时页面已打开我正在 url 中传递参数,例如 localhost/royaltrade/user_access.php?rptType=UserLog
并通过使用 $_REQUEST['rptType']
获取它此后的方法 <body onload="funControls();">
调用使用该情况的函数并切换到名为 funControls()
的函数并选择案例并执行其行。我如何隐藏和显示我的 div ? ?? ?
这是我的 JavaScript 代码
function funControls()
{
<?
switch($_REQUEST['rptType'])
{
case 'UserLog':
echo "showRows('table','CompName');";
echo "showRows('table','UserName');";
echo "showRows('table','StartingDate');";
echo "showRows('table','EndingDate');";
$title='User Log';
$path="browser_reports/rptUserLog.php";
$selected='UserLog';
break;
}
?>
}
这是该函数无法使用 div 的 rows[rowId] 函数的问题
function showRows(tableId,rowId){
var hide= true;
var t = document.getElementById(tableId);
var rowStyle = (hide)? "block":"";
t.rows[rowId].style.display = rowStyle;
}
function hideRows(tableId,rowId){
var hide= true;
var t = document.getElementById(tableId);
var rowStyle = (hide)? "none":"";
t.rows[rowId].style.display = rowStyle;
}
这是我的 body 标记,它调用函数 onload
<body onLoad="funControls();" >
这是我的 HTML 工作
<table id="table" cellpadding="0" cellspacing="0" border="0" align="center">
<tr height="35" id="CompName" style="display:none">
<td width="150">Select Company:</td>
<td width="200">
<select class="textbox" name="cboCompName" style="width:178px" id ="cboCompName">
<option value="-1"> Select </option>
</td>
</tr>
</table>
最佳答案
将您的 showRows
函数更改为
function showRows( rowId )
{
document.getElementById(rowId).style.display = "block";
}
由于您已经传递了 rowId
,因此无需传递 tableId
,因为 id 在整个页面中是唯一的。
检查this fiddle进行演示。
关于javascript - 使用或替换 Div 的 table rows[rowID] javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47528113/