Note that there are some explanatory texts on larger screens.

plurals
  1. PORestrict radio buttons selection in two columns of repeater
    primarykey
    data
    text
    <p>In first column I am displaying list of colleges. Each college has multiple courses which has been displayed in second column.</p> <p><strong>Restriction to be imposed on user selection:</strong> </p> <p>When user selects a college (say MIT), He should be allowed to select courses corresponding to selected college only (computer science &amp; mechanical engg in this case).</p> <p>How can I achieve this functionality using jQuery ?</p> <p>I am binding following data into nested repeater.</p> <pre><code> public string currentCollege { get; set; } Dictionary&lt;string, List&lt;string&gt;&gt; colleges; class College { public College(string s) { Course = s; } public string Course { get; set; } } protected void Page_Load(object sender, EventArgs e) { colleges = new Dictionary&lt;string, List&lt;string&gt;&gt;(); colleges.Add("mit", new List&lt;string&gt;(new string[] { "computer science", "mechanical engg." })); colleges.Add("caltech", new List&lt;string&gt;(new string[] { "electrical engg", "cryptography"})); colleges.Add("harvard", new List&lt;string&gt;(new string[] { "language", "arts", "science" })); rptColleges.DataSource = colleges; rptColleges.DataBind(); } protected void rptColleges_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Repeater rptCourseNow = (e.Item.FindControl("rptCourses") as Repeater); rptCourseNow.DataSource = colleges[currentCollege]; rptCourseNow.DataBind(); } } </code></pre> <p>the markup is as follows -</p> <pre><code> &lt;asp:Repeater ID="rptColleges" runat="server" OnItemDataBound="rptColleges_ItemDataBound"&gt; &lt;HeaderTemplate&gt; &lt;table&gt; &lt;/HeaderTemplate&gt; &lt;ItemTemplate&gt; &lt;tr&gt; &lt;td&gt; &lt;asp:RadioButton ID="rbCollege" runat="server" value=&lt;%# DataBinder.Eval((KeyValuePair&lt;string, List&lt;string&gt;&gt;)Container.DataItem, "Key") %&gt; /&gt; &lt;%# currentCollege = (string)DataBinder.Eval((KeyValuePair&lt;string, List&lt;string&gt;&gt;)Container.DataItem, "Key") %&gt; &lt;/td&gt; &lt;td&gt; &lt;asp:Repeater ID="rptCourses" runat="server"&gt; &lt;HeaderTemplate&gt; &lt;ul&gt; &lt;/HeaderTemplate&gt; &lt;ItemTemplate&gt; &lt;li&gt; &lt;asp:RadioButton ID="rbCourse" value="&lt;%#Container.DataItem %&gt;" runat="server" /&gt; &amp;nbsp; &lt;%#Container.DataItem %&gt; &lt;/li&gt; &lt;/ItemTemplate&gt; &lt;FooterTemplate&gt;&lt;/ul&gt;&lt;/FooterTemplate&gt; &lt;/asp:Repeater&gt; &lt;/td&gt; &lt;/tr&gt; &lt;/ItemTemplate&gt; &lt;FooterTemplate&gt;&lt;/table&gt;&lt;/FooterTemplate&gt; &lt;/asp:Repeater&gt; </code></pre> <p>Thank you for your help.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload