我想在用户查看confirmation Box
时显示CheckBox
消息。
我有一个GridView
,还有CheckBoxes
列。
因此,每当用户选中CheckBox
时,我想显示一个确认框,当用户点击该框上的取消时,我想取消选中CheckBox
。
当用户按下OK然后我想激活一个标准的asp.net CheckBox_CheckedChanged
,我正在做一些数据库工作
我不知道如何在javascript
或Jquery
中执行此操作。
我在google上发现它只有一个CheckBox
你可以使用ID
并使用Jquery
你可以显示弹出窗口。
但我有一个GridView,那里每行有很多CheckBoxes
。
请建议我一些工作示例或代码。
由于
** * ** 编辑 的 ** * ** * * 这是我到目前为止的代码。
$('#gvOrders').click(function () {
var checked = $(this).is(':checked');
if (checked) {
document.getElementById("confirm_value").value = "Yes";
if (!confirm('Are you sure you want to mark this order as received?')) {
$(this).removeAttr('checked');
}
}
else {
document.getElementById("confirm_value").value = "No";
if (!confirm('Are you sure you want to mark this order as not received?')) {
$(this).removeAttr('checked');
}
});
当CheckBox
检查时,这不起作用。我不确定我在这里做错了什么。
*** HTML for GRIDVIEW 的 ** * ****
<asp:GridView ID="gvOrders" runat="server" AutoGenerateColumns="false" CssClass="gvClickCollectOrders"
DataKeyNames="ac_OrderId" OnRowDataBound="gvOrders_RowDataBound" AllowPaging="true">
<Columns>
<asp:BoundField DataField="ac_OrderId" Visible="false" />
<asp:BoundField DataField="ac_OrderNumber" HeaderText="Order No" DataFormatString="WWW{0}" />
<asp:TemplateField HeaderText="Order Date">
<ItemTemplate>
<%# GetOrderDate(AlwaysConvert.ToInt(Eval("ac_OrderId"))) %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Customer Name">
<ItemTemplate>
<%# Eval("CustomerFirstName") %> <%# Eval("CustomerLastName") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Received In Store">
<ItemTemplate>
<asp:CheckBox ID="cbIsReceived" runat="server" AutoPostBack="true" Checked='<%# Eval("IsReceived") %>'
OnCheckedChanged="cbIsReceived_CheckedChanged"/>
<asp:Label ID="receivedDateText" Text="" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Collected By Customer">
<ItemTemplate>
<asp:CheckBox ID="cbIsCollected" runat="server" AutoPostBack="true" Checked='<%# Eval("IsCollected") %>'
OnCheckedChanged="cbIsCollected_CheckedChanged" />
<asp:Label ID="collectedDateText" Text="" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<asp:Label ID="emptyGrid" runat="server" Text="there are no Click and Collect orders placed for the selected store."
CssClass="emptyGridMessage"></asp:Label>
</EmptyDataTemplate>
</asp:GridView>
答案 0 :(得分:3)
使用jQuery
将一些类分配给gridview复选框并在该类上绑定事件。
<asp:CheckBox id="chkChoice" runat="server" class="some-class" ></asp:CheckBox>
$('.some-class').click(function () {
var checked = $(this).is(':checked');
if (checked) {
document.getElementById("confirm_value").value = "Yes";
if (!confirm('Are you sure you want to mark this order as received?')) {
$(this).removeAttr('checked');
}
}
else {
document.getElementById("confirm_value").value = "No";
if (!confirm('Are you sure you want to mark this order as not received?')) {
$(this).removeAttr('checked');
}
}
//return someVariableHoldTrueOrFalseForPostBack
//return true of false from here.
});
使用javascript
您可以在复选框上绑定javascript事件,它将自动应用于每行网格的所有生成复选框。
<asp:CheckBox id="chkChoice" runat="server" OnClientClick="return yourFunction(this)" ></asp:CheckBox>
function yourFunction(source)
{
return confirm("your message");
}
答案 1 :(得分:1)
使用以下代码
$(document).ready(function() {
$("#gvOrders input:checkbox").click(function(e) {
if ($(this).is(":checked")) {
var m= confirm("your message");
if(m !=true)
{
$(this).removeAttr('checked');
e.preventDefault();
}
});
});
答案 2 :(得分:1)
显示复选框上的弹出窗口
1.Create a div and design a popup as per your wish in your aspx page.
2.check if the checkbox is checked or not.
3.If it is checked then call the div as popup using its id.
c#代码:
if(checkedbox.checked==true)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Call my function", "showpopup();", true);
}
<强>脚本:强>
function showpopup() {
$("#popup").fadeIn('slow');
}
其中#popup是你创建的弹出div的id。