林林菜园
www.code84.com

要实现一个添加文章的功能,之前使用的是服务端事件,功能实现了。最新学习了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>&nbsp;&nbsp;", 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"));})

最终问题。。。。是解决了滴

posted on 2009-04-22 14:50  林林菜园  阅读(363)  评论(0编辑  收藏  举报