要实现一个添加文章的功能,之前使用的是服务端事件,功能实现了。最新学习了ajax,所以就想用ajax添加。本以为这么小小的功能用不了多少时间,结果却用了我一上午时间。。。。因为获取不到权限复选框选中的值。。。。。
CheckBoxList1在服务端梆定枚举值。在服务端能获取到value值,但在客户端面用JS/JQ却得不到其value值,是因为value根本就不在客户端输出。
解决办法:
界面CODE:
<tr><td>权限:</td><td>
<asp:Literal ID="ltlPop" runat="server"></asp:Literal>
</td><td></td></tr>
这里之所以用asp:Literal 是因为它在输出html时不会添加任何标签。而asp:Literal 是服务器控件可以在服务端添加其输出内容.。
System.Text.StringBuilder sb = new System.Text.StringBuilder(150);
foreach (System.Collections.Generic.KeyValuePair<int, string> oEntry in SN.Common.Utils.Trans(typeof(EMB.BLL.Enum.Artic.FlagID)))//遍逆枚举
{
sb.AppendFormat("<input type=\"checkbox\" value=\"{0}\" name=\"cb_pop\" /><label>{1}</label> ", oEntry.Key, oEntry.Value);//赋值
}
ltlPop.Text = sb.ToString();//输出
这样输出到界面上的值最终是html语句
用js是可以获取值滴。。
//权限
var flag="";
var cbCount = $('input[name="cb_pop"][checked]');
cbCount.each(function(){
flag+=($(this).attr("value"));})
最终问题。。。。是解决了滴