- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个按预期工作的确认框,并在单击按钮时返回 true/false。但这是一般的确认
,我无法设置自定义标题。
function Validate() {
if ($('#cphBody_gvBins').find("input[value='Edit']").length > 0 || $('#cphBody_gvBins').find("input[value='Update']").length > 0 ) {
var mConfirm = confirm("The Record contains data that will be deleted. Do you still want to proceed?");
return mConfirm;
}
}
我在客户事件中调用它。该函数返回 true 或 false。
<asp:Button ID="btnIssuerRemove" runat="server" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"
CausesValidation="false" CommandName="Remove" Text="Remove" OnCommand="issuerCommand_Click" OnClientClick="return Validate()"/>
但是,它只是一个常规的确认框。
所以,我继续创建了一个 div:
<div id="dialogBox">
Are you sure?
</div>
然后我更改函数以将我的 div
显示为对话框:
function CheckForBins() {
if ($('#cphBody_gvBins').find("input[value='Edit']").length > 0 || $('#cphBody_gvBins').find("input[value='Update']").length > 0) {
//var mConfirm = confirm("The issuer contains Bins that will be deleted. Do you still want to proceed?");
$("#dialogBox").dialog({
title: "System Message",
modal: true,
resizable: false,
width: 250,
buttons: {
Cancel: function () {
$(this).dialog('close');
},
OK: function(){
$(this).dialog('close');
}
}
});
return false;
}
}
现在,设置完成后,当我单击“删除”按钮时,将显示对话框。但是,它对“确定”没有做任何事情
我如何从这里返回 true/false,所以,当按下“取消”时我不删除记录,当按下“确定”时我不删除记录。
最佳答案
您没有发布完整的 HTML
,因此我使用示例中提供的 ID 创建了一些 HTML
内容。下次,请发布您的完整 HTML
,以便我们准确了解您要实现的目标。此外,看起来您正在使用 jQuery
和 jQuery UI
对话框,即使您没有专门向我们展示/说明这一点。
下面是一个测试记录示例,其中包含您在 JS
中标识的 3 个按钮。单击删除按钮后,您的 IF
语句会检查是否存在编辑/更新按钮,然后允许触发确认对话框。
请在此处查看 UI 对话框的更多文档:https://jqueryui.com/dialog/#modal-confirmation
function Validate(thisRecordRow) {
if ($('#cphBody_gvBins').find("input[value='Edit']").length > 0 || $('#cphBody_gvBins').find("input[value='Update']").length > 0) {
var tableRow = $(thisRecordRow).parent('td').parent('tr');
/*
Logic without Defer
*/
CheckForBinsNoDefer(tableRow);
/* DEFER LOGIC COMMENTEND OUT AS IT WONT WORK FOR YOUR JQUERY VERSION
CheckForBinsDefer(tableRow).then(function(answer) {
console.log(answer); // remove me
return answer;
});
*/
}
}
function DoDeleteFunction(tableRow, deleteRow) {
console.log(deleteRow); // remove me
if (deleteRow) {
// do delete logic
// example:
$(tableRow).remove();
} else {
// do nothing
}
}
function CheckForBinsNoDefer(tableRow) {
$("#dialogBox").dialog({
title: "Delete Record",
modal: true,
resizable: false,
width: 400,
buttons: {
"Ok": function() {
// call DoDeleteFunction with true;
DoDeleteFunction(tableRow, true);
$(this).dialog("close");
},
"Cancel": function() {
// call DoDeleteFunction with false;
DoDeleteFunction(tableRow, false);
$(this).dialog("close");
}
}
});
}
function CheckForBinsDefer(tableRow) {
var defer = $.Deferred();
$("#dialogBox").dialog({
title: "Delete Record",
modal: true,
resizable: false,
width: 400,
buttons: {
"Ok": function() {
defer.resolve(true);
$(this).dialog("close");
},
"Cancel": function() {
defer.resolve(false);
$(this).dialog("close");
}
}
});
return defer.promise();
}
#dialogBox {
display: none;
}
<html>
<head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
<div id="cphBody_gvBins">
<div id="dialogBox">
Are you sure?
</div>
<table>
<tr id="1">
<td>
TEST RECORD 1
</td>
<td>
<input type="button" value="Edit" />
</td>
<td>
<input type="button" value="Update" />
</td>
<td>
<input type="button" class="btnIssuerRemove" value="Remove" onclick="Validate(this);" />
</td>
</tr>
<tr id="2">
<td>
TEST RECORD 2
</td>
<td>
<input type="button" value="Edit" />
</td>
<td>
<input type="button" value="Update" />
</td>
<td>
<input type="button" class="btnIssuerRemove" value="Remove" onclick="Validate(this);" />
</td>
</tr>
<tr id="3">
<td>
TEST RECORD 3
</td>
<td>
<input type="button" value="Edit" />
</td>
<td>
<input type="button" value="Update" />
</td>
<td>
<input type="button" class="btnIssuerRemove" value="Remove" onclick="Validate(this);" />
</td>
</tr>
</table>
</div>
</body>
</html>
关于javascript - 我怎样才能有一个带有标题的确认对话框,在 "OK"和 "Cancel"事件上返回 true/false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55764908/
我正在使用以下代码读取我在文本编辑器 (Notepad++) 中创建的文本 (.xml) 文件,将我从中读取的 UTF-8 文本转换为 UTF-16,以便 Windows API 函数可以使用它,然后
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 1年前关闭。 Improve this
我知道所有的论坛都充满了这样的问题,但我尝试了几个钩子(Hook),但它们不起作用(或者我做的不好)。 所以,我有: main.cpp <- fawn.h <- connector.cpp (defe
这是我正在使用的一段代码。 当 items 为 null 时,ok(Object items) 方法在内部调用 Jersey 的 Response.ok() 方法。 MembershipReq
我在 Tcl/Tk 中有一个简单的窗口,点击确定按钮运行模拟。我正在使用 Linux。模拟完成后,窗口将被销毁。问题是在模拟运行时窗口仍然存在。我希望窗口在我点击确定按钮后消失。 我尝试使用 wm w
在我们的网络应用程序中,我将 Angular-Materials $mdDialog 与确认对象一起使用。是否可以将按钮的顺序从取消-确定更改为确定-取消?并将初始焦点设置为取消按钮?也许通过 CSS
这个问题在这里已经有了答案: 关闭10年前。 Possible Duplicate: Ternary conditional operator in Python 我有这个问题,不知道要问谷歌: (v
我尝试使用 R 进行回归。我有以下代码,导入 CSV 文件没有问题 dat <- read.csv('http://pastebin.com/raw.php?i=EWsLjKNN',sep="
在 QInputDialog 中,如何去掉 OK 和 Cancel 按钮中的图标? 注意取消和确定的图标。我查看了属性按钮,不知道如何删除它们。 最佳答案 解决方案的策略是先获取按钮,但是这些属于QD
当使用Postman测试项目时,任何POST方法,我收到的是200 OK而不是201 Created,并且subreddit不是在数据库中创建的,并且在控制台休眠中接收到以下内容:SELECT T1_
当使用Postman测试项目时,任何POST方法,我收到的是200 OK而不是201 Created,并且subreddit不是在数据库中创建的,并且在控制台休眠中接收到以下内容:SELECT T1_
我制作了一个安卓应用程序,可以从本地 wifi 网络传输语音。为了收听和流式传输,我使用 JNI 中的 Opus C API 进行解码,并使用 OpenSL Audio 进行读取。 我从 Servic
我有一个定义如下的 map : mapMeasures := make(map[time.Time]models.Measure, 0) 与 type Measure struct { Del
这里我的数据集是 pd我已将其拆分为训练和测试数据 pd_train1和 pd_train2 sku national_inv lead_time in_transit_qty forecas
我已经检查过有关此问题的其他问题,但由于问题似乎非常具体,因此它们没有帮助。 我有一个像这样的数据框(这只是一个简单的示例,下面提供了来自 dput() 的示例数据): year species ab
当我使用 anova_test() 函数(来自 rstatix 包)做双向重复测量方差分析时,出现错误: lm.fit(x, y, offset = offset, singular.ok = sin
我一直在尝试对数据集进行 2-Way 重复测量测试,年份和疫苗类型是自变量,覆盖率是因变量。我用代码运行它: sat = anova_test( data=SA, dv = coverage, w
奇遇 我是一个普通的大学生,尹成是我的名字。顾名思义,我和其他人一样,没有什么特别之处。然而,在某个偶然的机会下,我发现了一个全新的领域——编程。 初印象 说实话,我对编程并不了解,甚至可以说是一窍不
我使用这些代码创建了一个卡拉 OK 并将其刻录到 VCD。 xxxxxx_1.m4a 文件是左声道(乐器),xxxxxx_0.m4a 文件是右声道(带人声的歌曲)。 将它们组合到 become xxx
我不确定为什么会发生这种情况,但我有一个简单的 Ajax 代码: $.ajax({ url: "/javascript/testing.js"}) .done(function(data){
我是一名优秀的程序员,十分优秀!