jQuery生成asp.net服務器控件的代碼
更新時間:2010年02月04日 12:16:26 作者:
jQuery生成asp.net服務器控件 但不幸的是,該服務器控件依然沒有起作用,還是用隱藏服務器控件來解決吧
HTML如下
<tr>
<td class="leftTd" style="width: 107px">附加金額</td>
<td style="width: 315px"><asp:TextBox ID="txtExtendMoney" Text="0" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="regExtend" runat="server" ControlToValidate="txtExtendMoney" Display="Dynamic" ErrorMessage="格式不正確" ValidationExpression="[1-9]\d*\.\d*|0\.\d*[1-9]\d*|^[1-9]\d*|0"></asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="reqExtedNo" runat="server" ControlToValidate="txtExtendMoney" Display="Dynamic" ErrorMessage="不可為空"></asp:RequiredFieldValidator></td>
<td class="leftTd">結算方式</td>
<td><asp:DropDownList ID="ddlPayType" runat="server"><asp:ListItem>現(xiàn)金</asp:ListItem><asp:ListItem>銀行轉賬</asp:ListItem></asp:DropDownList></td>
</tr>
<tr>
<td class="leftTd">結算賬戶</td>
<td colspan="3"><asp:RadioButtonList ID="rdbPayAccountBank" runat="server" RepeatLayout="Flow"></asp:RadioButtonList></td>
</tr>
最后一個RadioButtonList的ListItem為“其他賬戶",當選中時,其后增加相應的asp.net服務器控件。選擇其它時移除該控件。
/*結算方式*/
$(":radio:last").bind("click",function(){
if($("#txtBankNew").length==0){
$(this).parent().append('<span id="span"><label style="margin-left:6px;margin-right:4px;" for="txtBankNew">開戶銀行</label><input runat='server' id='txtBankNew' type='text' /><label style="margin-left:6px;margin-right:4px;" for="txtAccountNew">開戶賬戶</label><input type='text' id='txtAccountNew' runat='server' /></span>');
};
$("#txtBankNew").focus().select();
});
$(":radio:not(:last)").bind("click",function(){
if($("#txtBankNew").length>0){
$("#span").remove();
}
});
這里值得注意的是如果append之后的控件為服務器控件,也就是有runat="server"屬性的,原先的單引號生成源后會自動變成雙引號,并且runat="server"消失。這實際上跟手工在前臺書寫此DOM結構.net framework處理一致。因此打開此頁面源文件可以看到如下

但不幸的是,該服務器控件依然沒有起作用……
還是用隱藏服務器控件來解決吧–!
復制代碼 代碼如下:
<tr>
<td class="leftTd" style="width: 107px">附加金額</td>
<td style="width: 315px"><asp:TextBox ID="txtExtendMoney" Text="0" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="regExtend" runat="server" ControlToValidate="txtExtendMoney" Display="Dynamic" ErrorMessage="格式不正確" ValidationExpression="[1-9]\d*\.\d*|0\.\d*[1-9]\d*|^[1-9]\d*|0"></asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="reqExtedNo" runat="server" ControlToValidate="txtExtendMoney" Display="Dynamic" ErrorMessage="不可為空"></asp:RequiredFieldValidator></td>
<td class="leftTd">結算方式</td>
<td><asp:DropDownList ID="ddlPayType" runat="server"><asp:ListItem>現(xiàn)金</asp:ListItem><asp:ListItem>銀行轉賬</asp:ListItem></asp:DropDownList></td>
</tr>
<tr>
<td class="leftTd">結算賬戶</td>
<td colspan="3"><asp:RadioButtonList ID="rdbPayAccountBank" runat="server" RepeatLayout="Flow"></asp:RadioButtonList></td>
</tr>
最后一個RadioButtonList的ListItem為“其他賬戶",當選中時,其后增加相應的asp.net服務器控件。選擇其它時移除該控件。

增加

引入jQuery,然后如下代碼
復制代碼 代碼如下:
/*結算方式*/
$(":radio:last").bind("click",function(){
if($("#txtBankNew").length==0){
$(this).parent().append('<span id="span"><label style="margin-left:6px;margin-right:4px;" for="txtBankNew">開戶銀行</label><input runat='server' id='txtBankNew' type='text' /><label style="margin-left:6px;margin-right:4px;" for="txtAccountNew">開戶賬戶</label><input type='text' id='txtAccountNew' runat='server' /></span>');
};
$("#txtBankNew").focus().select();
});
$(":radio:not(:last)").bind("click",function(){
if($("#txtBankNew").length>0){
$("#span").remove();
}
});
這里值得注意的是如果append之后的控件為服務器控件,也就是有runat="server"屬性的,原先的單引號生成源后會自動變成雙引號,并且runat="server"消失。這實際上跟手工在前臺書寫此DOM結構.net framework處理一致。因此打開此頁面源文件可以看到如下

但不幸的是,該服務器控件依然沒有起作用……
還是用隱藏服務器控件來解決吧–!
您可能感興趣的文章:
- ASP.NET自定義Web服務器控件之Button控件
- ASP.NET服務器端控件RadioButtonList,DropDownList,CheckBoxList的取值、賦值用法
- asp.net Page.EnableEventValidation 屬性驗證服務器控件的回發(fā)和回調事件出現(xiàn)的錯誤
- jquery獲取ASP.NET服務器端控件dropdownlist和radiobuttonlist生成客戶端HTML標簽后的value和text值
- asp.net 服務器控件的 ID,ClientID,UniqueID 的區(qū)別
- asp.net下使用Request.From獲取非服務器控件的值的方法
- ASP.NET 動態(tài)寫入服務器端控件
- asp.net Page.Controls對象(找到所有服務器控件)
- Asp.Net使用服務器控件Image/ImageButton顯示本地圖片的方法
相關文章
Jquery下的26個實用小技巧(jQuery tips, tricks & solutions)
前段時間發(fā)布了Jquery類庫1.4版本,使用者也越來越多,為了方便大家對Jquery的使用,下面列出了一些Jquery使用技巧。2010-03-03
jquery實現(xiàn)全選和全不選功能效果的實現(xiàn)代碼【推薦】
下面小編就為大家?guī)硪黄猨query實現(xiàn)全選和全不選功能效果的實現(xiàn)代碼【推薦】。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考2016-05-05
jquery通過load獲取文件的內(nèi)容并跳到錨點的方法
這篇文章主要介紹了jquery通過load獲取文件的內(nèi)容并跳到錨點的方法,涉及l(fā)oad及animate等方法的使用技巧,需要的朋友可以參考下2015-01-01
jQuery在IE下使用未閉合的xml代碼創(chuàng)建元素時的Bug介紹
這個偏門Bug是我在更新phZoom 1.29后發(fā)現(xiàn)的, 我先將之重現(xiàn)一下2012-01-01

