通过函数实现点击特定Flow Id时隐藏指定div标签
实现点击指定Flow Id时隐藏目标Div的功能
要实现点击Flow Id为'S'的选项时隐藏creditDebitRow div,否则保持显示,只需修改弹出页面中sendValue函数的逻辑,通过父窗口对象操作目标元素即可:
修改后的sendValue函数代码
function sendValue(s) { window.returnValue = s; var value = s.split('|'); var flowId = value[0]; window.opener.setAccValue(s, "flowId", "credAcc", "debtAcc"); // 操作父窗口中的creditDebitRow元素 const targetDiv = window.opener.document.getElementById('creditDebitRow'); if (targetDiv) { // 当Flow Id为'S'时隐藏,否则显示 targetDiv.style.display = flowId === 'S' ? 'none' : 'block'; } }
关键说明
- 访问父窗口DOM:通过
window.opener.document可以获取父页面的DOM结构,从而定位到creditDebitRowdiv - 显示状态控制:使用
style.display属性切换元素可见性,none表示隐藏,block表示恢复显示(若原div使用其他布局方式,可替换为对应的值,如inline-block) - 容错处理:增加元素存在性判断,避免因找不到元素导致控制台报错
原始代码参考
弹出页面核心代码:
<script> function sendValue(s) { window.returnValue = s; var value = s.split('|'); var flowId = value[0]; window.opener.setAccValue(s, "flowId", "credAcc", "debtAcc"); //creditDebitRow(flowId); } </script> </HEAD> <BODY bgcolor="#2F96C6"> <TABLE class="picklist_tab" ALIGN=CENTER WIDTH="100%" border="0" bordercolor="black" cellpadding=5> <caption class='picklist_caption'>Fund List</caption> <TR> <TH class="picklist_th">Flow Id</TH> <TH class="picklist_th">Flow Id Name</TH> <TH class="picklist_th">Credit Acc. No.</TH> <TH class="picklist_th">Debit Acc. No.</TH> <% /* String flowId = request.getParameter("param1"); flowId = flowId.trim(); */ String query = "select flow_id, CR_ACC_NO, DR_ACC_NO, FLOW_ID_NAME from accountmaster "; query += "where active_status = 'Y' and VERIFIED_BY is not null"; // no need of flowId here Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(query); while (rs.next()) { %> <TR> <TD class='picklist_td1' ALIGN="center"><a class='picklist_anchor' target=_self href='#' onClick="javascript:sendValue('<%=(rs.getString(1))%>|<%=(rs.getString(2))%>|<%=(rs.getString(3))%>')"><%=(rs.getString(1))%></a></TD> <TD class='picklist_td2' ALIGN="left"><%=(rs.getString(4))%></TD> <TD class='picklist_td2' ALIGN="left"><%=(rs.getString(2))%></TD> <TD class='picklist_td2' ALIGN="left"><%=(rs.getString(3))%></TD> </TR> <% } %> </TABLE> <TABLE align=center width='80%'> <TR> <TD align='center'><input type='Button' value='BACK' onclick='javascript:window.close()' /></TD> </TR> </TABLE> <BR> </BODY>
父页面目标div代码:
<div id="creditDebitRow" > <TABLE border="0" cellpadding="2" cellspacing="0" style="WIDTH: 100%;"> <TR> <td width="5%"> </td> <TD class="lblText" width="10%">Credit Account</TD> <TD><INPUT TYPE="text" class="textBox" NAME="credAcc" id="credAcc" disabled></TD> <td width="5%"> </td> <TD class="lblText" width="10%">Debit Account</TD> <TD><INPUT TYPE="text" class="textBox" NAME="debtAcc" id="debtAcc" disabled></TD> </TR> </table> </div>
内容的提问来源于stack exchange,提问作者Shubham Mondhoriya
相关产品推荐
相关产品推荐

