首先前台页面需要加入JS代码:
<script language="javascript">
var checkFlag = true;
function ChooseAll()
{
//if( !document.all("CheckAll").Checked ) // 全选
if( checkFlag ) // 全选
{
var inputs = document.all.tags("INPUT");
for (var i=0; i < inputs.length; i++) // 遍历页面上所有的 input
{
if (inputs[i].type == "checkbox" && inputs[i].id != "CheckAll" )
{
inputs[i].checked = true;
}
}
checkFlag = false;
}
else // 取消全选
{
var inputs = document.all.tags("INPUT");
for (var i=0; i < inputs.length; i++) // 遍历页面上所有的 input
{
if (inputs[i].type == "checkbox" && inputs[i].id != "CheckAll" )
{
inputs[i].checked = false;
}
}
checkFlag = true;
}
}
</script>
2.选择框使用:
<asp:CheckBox ID="CheckBox1" runat="server" /> <input type="hidden" id="SelectedID" runat="server" value='<%# DataBinder.Eval(Container.DataItem,"id")%>' NAME="SelectedID"/>
3.全选表单及按钮
<INPUT id="Checkbox2" name="CheckAll" type="checkbox" onclick="ChooseAll()">全选
<asp:Button ID="Button1" runat="server" Text="保存[S]" OnClick="Button1_Click"/>
4.保存按钮事件:
string selarr = "";
foreach (DataListItem i in DataList1.Items)
{
CheckBox ChkBxItem = (CheckBox)i.FindControl("CheckBox1");
if (ChkBxItem.Checked)
{
selarr += ((HtmlInputHidden)i.FindControl("SelectedID")).Value.ToString() + ",";
//selarr += ChkBxItem.ToolTip.ToString() + ",";
}
}
if (selarr == "" || selarr == null)
{
Comm.err_message("至少选择一个人!");
}
else
{
selarr = selarr.Trim(',');
}
2010-3-19日修改:
绑定部分必须放在!Page.IsPostBack内,否则选择不上