このシナリオでは、Javascript と ASP を使用しています。この特定のページが開くと、ドロップダウン メニューの 1 つに既に "Open" または "Closed" のステータスが表示されています。値はレコードセットの ID から取得されていることがわかります。
私が今やりたいことはこれです: 最初に読み込まれたときのページのステータスが「クローズ」で、ユーザーがそれを「オープン」に変更することを決定した場合、「再開理由」を再入力する必要があります。ドロップダウンの下にヘッダーとテキスト ボックスを表示します....
これまでに試したことは次のとおりです。 showHide() 関数を作成し、ドロップダウンの選択内に配置しましたが、何もしないため、スタックしています。どんな助けでも大歓迎です。ありがとう!
<select name="cboStatus" id="cboStatus" style="width:200px" onchange="showHide();"> <%
RSStatus.MoveFirst
If Not RSStatus.EOF Then
Do While Not RSStatus.EOF
%><option value='<%= RSStatus("ID")%>'
<%If RSStatus("ID") = RS("prjStatus") Then Response.Write "selected"%>><%= RSStatus("prjStatus")%></option><%
RSStatus.MoveNext
Loop
End If
%>
</select>
上記の JS から生成される HTML は次のとおりです。
<tr id="lbReopenReason" style="display:none">
<td bordercolor="#f0f0e4" bgcolor="#f0f0e4"><h3>Reopen Reason</h3></td>
</tr>
<tr id="trReopenReason" style="display:none">
<td bordercolor="#FFFFFF" bgcolor="#FFFFFF">
<input name="txtReopenReason" type="text" id="txtReopenReason" value="<%If (RS("reOpenReason")) <> "" Then Response.Write(RS("reOpenReason"))%>" size="100" />
</td>
</tr>
Javascript:
function showHide()
{
var cboStatus = document.getElementById("cboStatus");
var cboStatusValue = cboStatus.options[cboStatus.selectedIndex].text;
var lbReopenReason = document.getElementById("lbReopenReason"); var trReopenReason = document.getElementById("trReopenReason");
//If the status of the project is Closed at the time of page load, and that status changes, then the user must enter a re-open reason.
if ( (status == 3) && (cboStatusvalue == 'Open' )
{
lbReopenReason.style.display = "";
trReopenReason.style.display = "";
}
else
{
lbReopenReason.style.display = "none";
trReopenReason.style.display = "none";
}
}