asp.net 中RadioButtonList控件问题,如何判断是哪条记录的?

liu_dashi 2013-04-09 04:14:46
正在做一个调查投票的小功能,碰到如下问题当提交时,需判断是否都给了分数,如果没给分,给出提示“1.1未打分”这个投票问题我用的是repeater控件绑定的。如下:
  <table class="table1">
<asp:Repeater runat="server" ID="rptItemlist">
<ItemTemplate>
<tr>
<td class="td1">
<span style="color: #FF001E">*</span>
<%#Eval("sn")%>
</td>
<td class="td2">
<span>
<%#Eval("ItemTitle")%></span>
</td>
<td class="td3">
<asp:RadioButtonList ID="RadioButtonList1" RepeatDirection="Horizontal" runat="server" CssClass="radio">
<asp:ListItem Value="5">5</asp:ListItem>
<asp:ListItem Value="4">4</asp:ListItem>
<asp:ListItem Value="3">3</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
<asp:ListItem Value="1">1</asp:ListItem>
</asp:RadioButtonList>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>

我想请教的是,在客户端提交时,如何判断是否每个都给了分数?并做分数记录呢
...全文
376 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
insus 2013-05-07
  • 打赏
  • 举报
回复
liu_dashi 2013-04-10
  • 打赏
  • 举报
回复
引用 22 楼 liuchaolin 的回复:
jQuery(".table1 > tbody > tr").each(function (i, item) 这样应该可以吧
嗯 试了 可以的
Scorip 2013-04-10
  • 打赏
  • 举报
回复
引用 24 楼 Scorip 的回复:
引用 23 楼 Scorip 的回复:引用 楼主 liu_dashi 的回复:正在做一个调查投票的小功能,碰到如下问题当提交时,需判断是否都给了分数,如果没给分,给出提示“1.1未打分”这个投票问题我用的是repeater控件绑定的。如下:C# code?12345678910111213141516171819202122232425 <table class="ta……
 <asp:RadioButtonList ID="RadioButtonList<%#Eval("sn")%>" RepeatDirection="Horizontal" runat="server" CssClass="radio">
Scorip 2013-04-10
  • 打赏
  • 举报
回复
引用 23 楼 Scorip 的回复:
引用 楼主 liu_dashi 的回复:正在做一个调查投票的小功能,碰到如下问题当提交时,需判断是否都给了分数,如果没给分,给出提示“1.1未打分”这个投票问题我用的是repeater控件绑定的。如下:C# code?12345678910111213141516171819202122232425 <table class="table1"> ……
 <asp:RadioButtonList ID="RadioButtonList<span style="color: #FF0000;"><%#Eval("sn")%></span>" RepeatDirection="Horizontal" runat="server" CssClass="radio"> 上面弄晕了。
Scorip 2013-04-10
  • 打赏
  • 举报
回复
引用 楼主 liu_dashi 的回复:
正在做一个调查投票的小功能,碰到如下问题当提交时,需判断是否都给了分数,如果没给分,给出提示“1.1未打分”这个投票问题我用的是repeater控件绑定的。如下:C# code?12345678910111213141516171819202122232425 <table class="table1"> ……

 <asp:Repeater runat="server" ID="rptItemlist">
                                        <ItemTemplate>
                                            <tr>
                                                <td class="td1">
                                                    <span style="color: #FF001E">*</span>
                                                        <%#Eval("sn")%>
                                                </td>
                                                <td class="td2">
                                                    <span>
                                                        <%#Eval("ItemTitle")%></span>
                                                </td>
                                                <td class="td3">
                                                    <asp:RadioButtonList ID="RadioButtonList<%#Eval("sn")%>" RepeatDirection="Horizontal" runat="server" CssClass="radio">
                                                        <asp:ListItem Value="5">5</asp:ListItem>
                                                        <asp:ListItem Value="4">4</asp:ListItem>
                                                        <asp:ListItem Value="3">3</asp:ListItem>
                                                        <asp:ListItem Value="2">2</asp:ListItem>
                                                        <asp:ListItem Value="1">1</asp:ListItem>
                                                    </asp:RadioButtonList>
                                                </td>
                                            </tr>
                                        </ItemTemplate>
                                    </asp:Repeater>
你绑定的时候把题号绑定到 RadioButtonList 的ID 上不就好弄了。
md5e 2013-04-10
  • 打赏
  • 举报
回复
jQuery(".table1 > tbody > tr").each(function (i, item) 这样应该可以吧
liu_dashi 2013-04-10
  • 打赏
  • 举报
回复
已经解决了 加个判断就行了“if (jQuery(item).has("table").length > 0) ” 呵呵!还是谢谢你,不然我都不知道如何下手!有没有好办法,再提交时候,将所有选择的值 加起来?
liu_dashi 2013-04-10
  • 打赏
  • 举报
回复
引用 19 楼 liuchaolin 的回复:
还是不懂你想要什么? _message = jQuery(item).find(".td1").eq(0).text() + jQuery(item).find(".td2").eq(0).text() 这样?
啊 呵呵!我要的提示信息只需要序号!!而通过这种方式找到的提示信息,除了序号外还找出了 radiobutton的值即“1.1未勾选!5未勾选!....”.你给的方法很好,可以使用,不过最后得到的_message信息不是我想要的,我想要的提示信息是这样的“1.1未勾选!1.2未勾选!2.1未勾选!”
md5e 2013-04-10
  • 打赏
  • 举报
回复
还是不懂你想要什么? _message = jQuery(item).find(".td1").eq(0).text() + jQuery(item).find(".td2").eq(0).text() 这样?
liu_dashi 2013-04-10
  • 打赏
  • 举报
回复
引用 17 楼 liuchaolin 的回复:
_message = jQuery(item).find(".td1").eq(0).text()这样咧?
不行 应该是 还去找这个tr了,知识没取值 !提示信息如下:
md5e 2013-04-10
  • 打赏
  • 举报
回复
_message = jQuery(item).find(".td1").eq(0).text()这样咧?
liu_dashi 2013-04-10
  • 打赏
  • 举报
回复
引用 15 楼 liuchaolin 的回复:
_message = jQuery(item).find("td").eq(0).text() + ","; 然后 alert(_message.substring(0,_message.length-1) + "没有勾选?"); 这个意思?
是这样的 在下面htnl中
<table class="table1">
    <tbody>
        <tr>
            <td class="td1">
                <span style="color: #FF001E">*</span> 1.1
            </td>
            <td class="td2">
                <span>标题1</span>
            </td>
            <td class="td3">
                <table id="RadioButtonList1" class="radio">
                    <tbody>
                        <tr>
                            <td>
                                <input id="RadioButtonList1_0" type="radio" checked="checked" value="5" name="RadioButtonList1">
                                <label for="RadioButtonList1_0">
                                    5</label>
                            </td>
                        </tr>
                        ....
                    </tbody>
                </table>
            </td>
        </tr>
    </tbody>
</table>
通过
 jQuery("table.table1 tr").each(function (i, item) {
                if (jQuery(item).find("input[type='radio']:checked").length <= 0) {
                    _obj = jQuery(item).find("input[type='radio']").eq(0);
                    _message = jQuery(item).find("td").eq(0).text() + "没有勾选!";
                    jQuery(item).addClass("red");
                    return false;
                }
jquery找到的tr也包含了
<table id="RadioButtonList1" class="radio">
中的,因此_message = jQuery(item).find("td").eq(0).text() + "没有勾选!";提示的信息 除了序号外 也包含了radiobutton的value,而我只想要序号的值
md5e 2013-04-10
  • 打赏
  • 举报
回复
_message = jQuery(item).find("td").eq(0).text() + ","; 然后 alert(_message.substring(0,_message.length-1) + "没有勾选?"); 这个意思?
zhangdaowu5 2013-04-10
  • 打赏
  • 举报
回复
两种办法都可以做到,第一前台用JQuery去遍历table然后去轮循table然后再判断,方法二在后台时间中去遍历判断,两个都可以实现看你自己熟悉前台还是后台,个人建议前台写脚本比较好!
liu_dashi 2013-04-10
  • 打赏
  • 举报
回复
引用 12 楼 liuchaolin 的回复:
引用 11 楼 liu_dashi 的回复:引用 8 楼 liuchaolin 的回复: XML/HTML code?1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768……
嗯 我想在最后提交时,把所有未勾选的序号找出来 再提示?这个貌似与之前的没区别 哎 这东西真费劲啊
md5e 2013-04-10
  • 打赏
  • 举报
回复
引用 11 楼 liu_dashi 的回复:
引用 8 楼 liuchaolin 的回复: XML/HTML code?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858……
if (jQuery(item).find("input[type='radio']:checked").length <= 0) { _obj = jQuery(item).find("input[type='radio']").eq(0); _message = jQuery(item).find("td").eq(0).text() + "没有勾选!"; jQuery(item).addClass("red"); return false; }
liu_dashi 2013-04-10
  • 打赏
  • 举报
回复
引用 8 楼 liuchaolin 的回复:
XML/HTML code?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091……
你的方法也有些问题,如图:
liu_dashi 2013-04-10
  • 打赏
  • 举报
回复
引用 8 楼 liuchaolin 的回复:
XML/HTML code?12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091……
你的方法没问题!可是我这边用的时候,提示信息除了1.1没有勾选!5没有勾选!1.2没有勾选!5没有勾选!。。。。会把后面td的值取出来 为啥啊 然后,如何把没一项选择的分数取出来 求和?
liu_dashi 2013-04-10
  • 打赏
  • 举报
回复
@liuchaolin 这个方法没问题!可是我这边用的时候,提示信息除了1.1没有勾选!5没有勾选!1.2没有勾选!5没有勾选!。。。。会把后面td的值取出来 为啥啊
md5e 2013-04-10
  • 打赏
  • 举报
回复
引用 28 楼 liu_dashi 的回复:
引用 22 楼 liuchaolin 的回复: jQuery(".table1 > tbody > tr").each(function (i, item) 这样应该可以吧有个问题想追问一下,我选定分数后,这些值要如何保存到数据库中?编辑时候又如何给这些Radiobuttonlist来赋值呢?
Request.From[""],或者用ajax.post
加载更多回复(10)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧