1
我正在使用detailsview來顯示數據庫中的記錄進行編輯 - 或插入新記錄。當用戶更改其中一個字段的複選框時,我想隱藏另一個字段。爲了避免不必要的回傳,我想使用JavaScript。這裏是我到目前爲止的簡化版本:和隱藏詳細信息視圖字段與javascript
<script type="text/javascript">
function HideShowPromo(chk) {
if (chk.checked == true)
//.style.display = 'block';
else
//.style.display = 'none';
}
</script>
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="false">
<Fields>
<asp:TemplateField HeaderText="Use Promotional Code:">
<InsertItemTemplate>
<asp:CheckBox ID="cbUsePromo" runat="server" />
</InsertItemTemplate>
<EditItemTemplate>
<asp:CheckBox ID="cbUsePromo" runat="server" Checked='<%# Bind("_usePromo") %>' />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Promotional Code:">
<InsertItemTemplate>
<asp:TextBox ID="txtPromoCode" runat="server" MaxLength="10"></asp:TextBox>
</InsertItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtPromoCode" runat="server" Text='<%# Bind("_promo") %>' MaxLength="10"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>
後面的代碼:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DetailsView1.DefaultMode = DetailsViewMode.Insert;
((CheckBox)DetailsView1.FindControl("cbUsePromo")).Attributes.Add("onclick", "HideShowPromo(this)");
}
}
我已經能夠選擇「txtPromoCode」文本框和隱藏它,但它留下的標題文本。我想隱藏整個領域。
完美的工作! – JumpingJezza 2010-11-03 09:09:46