使用客户端脚本处理RadioButtonList

我有一个ASP RadioButtonList,我想处理客户端。

该网页包含一个带有单选按钮组和关联的GridView的表单。 当用户选择其中一个单选按钮时,我想在GridView上隐藏或显示行。 (必须隐藏行,而不是通过回发过滤掉数据集,因为当用户提交表单时会发生处理。)

感谢StOf和其他网站,这是我到目前为止所拥有的。

我的客户端脚本由于无法识别Value而出错(“无法读取未定义的属性’值’。”)

 function update_grid(rbList) { var parameter = rbList.SelectedItem.Value; var grd = $("#my_gridview"); var rows = $("#my_gridview tr:gt(0)"); switch (parameter) { case "All": { rows.show().all; } case "Hide": { var rowToShow = rows.find("td:eq(0)").filter(chk_ischecked == false); rows.show().not(rowToShow).hide(); } case "Show": { var rowToShow = rows.find("td:eq(0)").filter(chk_ischecked == true); rows.show().not(rowToShow).hide(); } } } 

我的RadioButtonList在设计时:

  Show All Hide Checked Show Only Checked  

结果HTML:

 

我一直试图找到一些方法来使所选按钮的值不再迭代列表,但到目前为止没有运气。 我也尝试了一种JQuery方法,它可以在页面加载时运行但是我无法通过选择单选按钮来触发断点。 (我确信有更好的JQuery方法。):

 $(document).ready(function () { $('#RadioButtonList1_All').on('change', function () { $("#tbl tr").show(); }); $('#RadioButtonList1_Hide').on('change', function () { var grd = $("#my_gridview"); var rows = $("#my_gridview tr:gt(0)"); var rowToShow = rows.find("td:eq(0)").filter(chk_ischecked == false); rows.show().not(rowToShow).hide(); }); $('#RadioButtonList1_Show').on('change', function () { var grd = $("#my_gridview"); var rows = $("#my_gridview tr:gt(0)"); var rowToShow = rows.find("td:eq(0)").filter(chk_ischecked == true); rows.show().not(rowToShow).hide(); }); }); 

尝试这样的事情:

 $(function(){ $("#RadioButtonList1 input[id^=Radio]").click(function(){ alert(this.value); }) }); 

工作小提琴: http : //jsfiddle.net/robertrozas/tdyhq8z7/1/