最近使用了datalist嵌套radiobuttonlist,数据从数据库获得,就相当于datalist出现一条信息,radiobuttonlist显示几个选项,现在问题,来了;
我要从我所选中的单选按钮,我该怎么获得我选中的values值,并且确保,每个信息下的选项我都有选取。。。。
小妹用的是js,jquery,ajax,后台cs也没问题,求解啊
<asp:DataList ID = "Topic_list" runat = "server" RepeatLayout = "Flow"
RepeatDirection="Horizontal" DataKeyField="top_NO"
onitemdatabound="Topic_list_itemDataBound"
BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px"
CellPadding="2" ForeColor="Black">
<AlternatingItemStyle BackColor="PaleGoldenrod" />
<FooterStyle BackColor="Tan" />
<HeaderStyle BackColor="Tan" Font-Bold="True" />
<ItemTemplate>
<td width="20%"><%# Eval("top_NO") %></td>
<td width="60%"><%# Eval("top_detail")%></td>
<br/>
<asp:RadioButtonList ID="RadBtnL" runat="server">
</asp:RadioButtonList>
<br />
</ItemTemplate>
<SelectedItemStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
</asp:DataList>
直接在后台遍历DataList.Items,然后将每个从每个Item中FindControl("RabBtnL").SelectedItem,大概是这样,你这个和js和jq没什么关系~
我想把我获取到的值连在一起:
string values="";
for(int i=0;i<Topic_list.Items.Count;i++)
{
RadioButtonList rbl = (RadioButtonList)Topic_list.Items[i].FindControl("RadBtnL");
for (int r = 0; r < rbl.Items.Count; r++)
{
if (rbl.Items[r].Selected == true)
{
values = values + rbl.Items[r].Value.ToString(); //但是values一直 为空;
}
}
}
//但是values一直 为空;
我哪里写错了呢
if (rbl.Items[r].Selected == true)执行为false;无法赋值
我其实想在js遍历这个datalist嵌套radiobuttonlist,获取到每个选项值,连接在一起,有没代码可以参考呢,我加分加分
@雾里小梅花: 需要參考你後臺為RadioButtonList賦值的代碼!
用js就比較簡單了,用jquery嗎?
@幻天芒:
protected void Page_Load(object sender, EventArgs e)
{
GetTopic();
}
public void GetTopic()
{
using (BLLS topic = new BLLS())
{
string topic_sqlstr = "select top_NO,top_detail from topic order by top_NO ASC";
this.Topic_list.DataSource = topic.Select(topic_sqlstr);
this.Topic_list.DataBind();
}
}
protected void Topic_list_itemDataBound(object sender, DataListItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.EditItem)
{
RadioButtonList rbt = (RadioButtonList)e.Item.FindControl("RadBtnL");
int top_NO = Convert.ToInt32(this.Topic_list.DataKeys[e.Item.ItemIndex].ToString());
using (BLLS option = new BLLS())
{
string option_strsql = "select opt_tag,opt_detail from options where top_NO=@p0 order by opt_tag ASC";
DataSet DS = option.Select(option_strsql, top_NO);
rbt.DataSource = DS;
rbt.DataTextField = "opt_detail";
rbt.DataValueField = "opt_tag";
rbt.DataBind();
}
}
}
这是我绑定数据的方法;
能告诉我用jquery或者javascript的方法吗,最好有代码参考
@雾里小梅花: 参考下Jquery的api。