在线投票 问题 和答案自动加载的。
前台代码如下:
<asp:Repeater ID="rpQuestion" runat="server">
<ItemTemplate>
第<%# Container.ItemIndex + 1%>题:<%# Eval("Q_Name") %>:
<br /><asp:RadioButtonList ID="rbtList_Question" runat="server">
</asp:RadioButtonList><br />
</ItemTemplate>
</asp:Repeater>可以加载
问题1:我想点提交按钮时,用JS判断嵌套在Repeater 中所有的RadioButtonList是否选中
问题2:当用户选择一个RadioButtonList的值时,我想在题目旁边给他放个DIV 来提示选中 用JS来控制。
前台代码如下:
<asp:Repeater ID="rpQuestion" runat="server">
<ItemTemplate>
第<%# Container.ItemIndex + 1%>题:<%# Eval("Q_Name") %>:
<br /><asp:RadioButtonList ID="rbtList_Question" runat="server">
</asp:RadioButtonList><br />
</ItemTemplate>
</asp:Repeater>可以加载
问题1:我想点提交按钮时,用JS判断嵌套在Repeater 中所有的RadioButtonList是否选中
问题2:当用户选择一个RadioButtonList的值时,我想在题目旁边给他放个DIV 来提示选中 用JS来控制。
我只做过单个RadioButtonList 嵌套的没做过。
参考
==要用js取,要给它一个name属性,我记得当时是以题目的ID为name(你可以看看那些大的门户网站是怎么做
投票这方面的),js根据name来判有没有取值。问题2:当用户选择一个RadioButtonList的值时,我想在题目旁边给他放个DIV 来提示选中 用JS来控制。
==你可以把一个题目及答案用个标签(比如span)包含起来,加上onclick事件。
<head runat="server">
<title></title> <script type="text/javascript">
function CheckAll() {
var count = parseInt("<%= Count %>");
for (var i = 0; i < count; i++) {
var div = document.getElementById("content" + i);
if (div) {
var rbs = div.getElementsByTagName("input");
var checked = false;
for (var j = 0; j < rbs.length; j++) {
if (rbs[j].type == "radio" && rbs[j].checked) {
checked = true;
}
}
if (!checked) {
alert("第" + (i + 1) + "题没有选择");
return false;
}
}
}
return true;
} function ShowSelection(cb,index) {
document.getElementById("span" + index).innerHTML = "您选择的值为:" + cb.value;
}
</script></head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="rpQuestion" runat="server" OnItemDataBound="rpQuestion_ItemDataBound">
<ItemTemplate>
<div id="content<%# Container.ItemIndex %>">
第<%# Container.ItemIndex + 1%>题:<%# Eval("Q_Name") %>:
<br />
<asp:RadioButtonList ID="rbtList_Question" runat="server">
<asp:ListItem Text="选项1" Value="1"></asp:ListItem>
<asp:ListItem Text="选项2" Value="2"></asp:ListItem>
<asp:ListItem Text="选项3" Value="3"></asp:ListItem>
<asp:ListItem Text="选项4" Value="4"></asp:ListItem>
</asp:RadioButtonList>
<br />
<span id="span<%# Container.ItemIndex %>">
</span>
</div>
</ItemTemplate>
</asp:Repeater>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" OnClientClick="return CheckAll()" />
</div>
</form>
</body>
</html>
public partial class Repeater : System.Web.UI.Page
{
protected int Count = 0; protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Q_Name", typeof(string)));
for (int i = 0; i < 10; i++)
{
dt.Rows.Add("第" + (i + 1) + "题题目");
}
rpQuestion.DataSource = dt;
rpQuestion.DataBind();
Count = rpQuestion.Items.Count;
}
} protected void Button1_Click(object sender, EventArgs e)
{
} protected void rpQuestion_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
RadioButtonList rbl = e.Item.FindControl("rbtList_Question") as RadioButtonList;
if (rbl != null)
{
foreach (ListItem li in rbl.Items)
li.Attributes.Add("onclick", "ShowSelection(this," + e.Item.ItemIndex + ");");
}
}
}