使用客户端脚本处理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); }) });