这里介绍一个我遇到的问题。就是在gridview中会放一个checkbox来进行选中与否,会在这个checkbox后面放几个hidden来保存几个需要用到的值,
现在需要做的是 ,判断选个 选中的checkbox后面 的hidden中的值 是否 是符合条件的,即必须取选中的checkbox后面hidden中的值进行判断,如下:
<asp:GridView ID="gvTraineeBadge" runat="server" AutoGenerateColumns="False"
CssClass="Grid" Width="80%" DataKeyNames="ID" >
<Columns>
<asp:TemplateField HeaderText="选择">
<HeaderTemplate>
<input type="checkbox" name="chkAll" id="chkAll" />
</HeaderTemplate>
<ItemTemplate>
<input type="checkbox" name="chkCard" class="chkCard" value='<%#Eval("ID") %>' />
<input class="hfBasid" type="hidden" value='<%#Eval("AssBasID") %>' />
<input class="hfAssessorName" type="hidden" value='<%#Eval("AssessorName") %>' />
<input id ="hfReturnFlag" class="hfReturnFlag" type="hidden" value='<%#Eval("Status") %>' />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>
脚本如下:
function ReturnBackCard()
{
if (confirm("确定要归还吗?") == true)
{
var tbid = "";
var status = "";
var flag = true;
var checkNum;
checkNum = $('.chkCard:checked').length;
if (checkNum <= 0)
{
alert("请选择要归还的记录!");
return false;
}
else
{
$("input[name='chkCard']:checked").each(
function()
{
//status1 = $(".chkCard:checked~.hfReturnFlag").attr("value");
status = $(this).parents("td").find("#hfReturnFlag").val();
//alert(status);
if (status == "False")
{
alert("请选择没有归还的记录!");
flag = false;
return false;
}
else
{
tbid += $(this).val() + ";";
}
});
if (flag)//为真才处理
{
tbid = tbid.substring(0, tbid.length - 1);
$.ajax({
type: "post",
contentType: "application/json",
url: "../SaveDataWebService.asmx/ReturnCardById",
dataType: 'json',
data: "{tbid:'" + tbid + "'}",
success: function(result)
{
alert("归还成功!");
window.location.reload();
return true;
},
error: function(msg)
{
alert("归还失败!");
return false;
}
});
return false;
}
else
{
return false;
}
}
}
}