用控件的Display=none或block属性隐藏控件,显示问题,请大侠赐教!
问题是这样的,我用一个CheckBox控制一个TextBox的显示,选中则显示,不选中的则不显示。默认情况下是不显示的。当页面提交,页面Check,提交未成功,对提示信息点确定,返回页面后,所有的TextBox都不显示了,但是正确的页面是选中的Checkbox的对应的TextBox应该显示出来的。我觉得他是读取了默认的设置。请大侠赐教!
代码片段如下:
function CheckEvent(chkbox,hdn,txtbox,trMemoID,flg)
{
if(document.getElementById(chkbox).checked)
{
var hdnMark = document.getElementById(hdn).value;
txtSumMark.value = parseInt(txtSumMark.value) + parseInt(hdnMark);
objTxtbox.value = document.getElementById(hdn).value;
//txtbox的下一个兄弟,注意这两个组件之间不能有空格或换行
objTxtbox.nextSibling.value= document.getElementById(hdn).value;
objTrMemo.style.display="block";
objTxtMemo.select(); }
else
{
if(!pattern.exec(objTxtbox.value))
{//取消时,如果不是数字,总和应该减去旧值
txtSumMark.value = parseInt(txtSumMark.value) - parseInt(objTxtbox.nextSibling.value);
}
else
{//是数字,总和减去新值
txtSumMark.value = parseInt(txtSumMark.value) - parseInt(objTxtbox.value);
}
objTxtbox.value="";
objTxtbox.nextSibling.value="";
//取得备注textbox对象
objTxtMemo.value="评分备注";
objTrMemo.style.display="none";
}
}
<tr>
<td style="width:80%">
<asp:CheckBox ID="MinusItemCB" runat="server" Checked="false"/> <%# Container.ItemIndex + 1%>、
asp:Label ID="MinusItemContent" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.DetailContent") %>'></asp:Label>
<asp:HiddenField ID="MinusItemID" Value='<%# DataBinder.Eval(Container, "DataItem.ID") %>' runat="server" />
<asp:HiddenField ID="MinusMark" Value='<%# DataBinder.Eval(Container, "DataItem.Mark") % >' runat="server" />
</td>
<td style="width:20%">
<asp:TextBox ID="MinusFactMark" runat="server" Width="89%" Text=""></asp:TextBox><asp:HiddenField ID="OldMinusFactMark" runat="server" Value="0"/>
</td>
</tr>
<tr id="trMinusMemo" runat="server" style="display:none">
<td colspan="2">
<asp:TextBox ID="txtMinusMemo" runat="server" TextMode="MultiLine" Rows="3" Width="90%" Text="评分备注"></asp:TextBox></td>
</tr>
代码片段如下:
function CheckEvent(chkbox,hdn,txtbox,trMemoID,flg)
{
if(document.getElementById(chkbox).checked)
{
var hdnMark = document.getElementById(hdn).value;
txtSumMark.value = parseInt(txtSumMark.value) + parseInt(hdnMark);
objTxtbox.value = document.getElementById(hdn).value;
//txtbox的下一个兄弟,注意这两个组件之间不能有空格或换行
objTxtbox.nextSibling.value= document.getElementById(hdn).value;
objTrMemo.style.display="block";
objTxtMemo.select(); }
else
{
if(!pattern.exec(objTxtbox.value))
{//取消时,如果不是数字,总和应该减去旧值
txtSumMark.value = parseInt(txtSumMark.value) - parseInt(objTxtbox.nextSibling.value);
}
else
{//是数字,总和减去新值
txtSumMark.value = parseInt(txtSumMark.value) - parseInt(objTxtbox.value);
}
objTxtbox.value="";
objTxtbox.nextSibling.value="";
//取得备注textbox对象
objTxtMemo.value="评分备注";
objTrMemo.style.display="none";
}
}
<tr>
<td style="width:80%">
<asp:CheckBox ID="MinusItemCB" runat="server" Checked="false"/> <%# Container.ItemIndex + 1%>、
asp:Label ID="MinusItemContent" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.DetailContent") %>'></asp:Label>
<asp:HiddenField ID="MinusItemID" Value='<%# DataBinder.Eval(Container, "DataItem.ID") %>' runat="server" />
<asp:HiddenField ID="MinusMark" Value='<%# DataBinder.Eval(Container, "DataItem.Mark") % >' runat="server" />
</td>
<td style="width:20%">
<asp:TextBox ID="MinusFactMark" runat="server" Width="89%" Text=""></asp:TextBox><asp:HiddenField ID="OldMinusFactMark" runat="server" Value="0"/>
</td>
</tr>
<tr id="trMinusMemo" runat="server" style="display:none">
<td colspan="2">
<asp:TextBox ID="txtMinusMemo" runat="server" TextMode="MultiLine" Rows="3" Width="90%" Text="评分备注"></asp:TextBox></td>
</tr>
...全文
相关推荐
jquery控制display属性为none或block
主要介绍了jquery控制display属性为none或block,需要的朋友可以参考下
微信小程序动态的显示或隐藏控件的方法(两种方法)
在微信小程序开发时,经常要用到一个控件会根据不同的情况和环境动态显示与隐藏这种情况,下面就来实践一下吧
javascript获取隐藏元素(display:none)的高度和宽度的方法
主要介绍了javascript获取隐藏元素(display:none)的高度和宽度的方法,实现方法比较复杂,需要的朋友可以参考下
css display:none使用注意事项小结
web页面前台编码时经常用到display:none样式,平常使用时发现有几点特征需要注意
JS显示隐藏HTML控件
JS显示隐藏HTML控件。



