我正在建立一个div,它是网站主页的一部分。此div显示项目列表。所有项目都保存在MySQL数据库中。我想做的是在每一行旁边创建一个按钮,上面写着“删除”。单击delete之后,应该会出现一个jQueryUI对话框提示用户进行确认。当确认删除项目时,必须将项目id发送到删除页面(我们称之为delete.php)。
到目前为止我做了什么
这就是我被困的地方。在删除页上,我回响项目id,看看它是否工作。不知何故,delete.php页面总是呼应第一个项目的id。这意味着jQuery总是发送第一个项目的id。
我怎样才能解开这个谜?
$currents = new Project();
$currents = $currents->getProjects($_SESSION["user"], "finished");
echo "<table>";
foreach($currents as $current){
echo "<tr><td>" . $current["name"] . "</td>
<td><form method='post' class='deleteproject' action='/requests/request.php'/>
<input type='hidden' name='projectid' value='" . $current['id'] . "' />
<input type='button' value='Delete' class='deleteproject'></form></td></tr>";
}
echo "</table>";
这里是jQuery;
<script>
$(function()
{
$( ".deleteproject" ).click(function() {
$( "#dialogbox" ).attr('title', 'Are you sure you want to delete this project?').dialog({
height: 100,
width: 350,
modal: true,
buttons : {
"Confirm" : function() {
$('.deleteproject').submit();
},
"Cancel" : function() {
$(this).dialog("close");
}
}
});
return false;
});
});
</script>
执行$('.deleteproject')时。提交()
,您总是发送第一个
。删除项目
,而不是单击的项目。要解决这个问题,您可以保存此
引用并提交您的父表单。
$( ".deleteproject" ).click(function() {
$this = $(this);
$( "#dialogbox" ).attr('title', 'Are you sure you want to delete this project?').dialog({
height: 100,
width: 350,
modal: true,
buttons : {
"Confirm" : function() {
$this.closest('form').submit();
},
"Cancel" : function() {
$(this).dialog("close");
}
}
});
附带说明:您的表单类名也是
. deleteproject
,所以即使您不单击按钮,但在表单上,您的函数也会启动。另外,(对此不确定)我认为你的脚本会因为事件冒泡而两次着火。单击按钮deleteproject
也是单击表单deleteproject
。
问题内容: 我正在寻找适用于asp.net的JavaScript模态对话框解决方案,jquery UI对话框似乎不错,但是它将对话框容器移至body标签的底部。我将对话框代码更改为将对话框保持为asp.net形式,但仍然超出了updatepanel的范围。 有没有解决方案或更兼容的对话框,它不会破坏asp.net表单的生命周期? 谢谢 问题答案: 为什么不将UpdatePanel放在对话框容器中?
在一个交互覆盖层中打开内容。 如需了解更多有关 dialog 部件的细节,请查看 API 文档 对话框部件(Dialog Widget)。 默认功能 基本的对话框窗口是一个定位于视区中的覆盖层,同时通过一个 iframe 与页面内容分隔开(就像 select 元素)。它由一个标题栏和一个内容区域组成,且可以移动,调整尺寸,默认可通过 'x' 图标关闭。 <!doctype html> <html
pre { white-space: pre-wrap; } 对话框(Dialog)是一个特殊的窗口(window),可以包含在顶部的工具栏和在底部的按钮。默认情况下,对话框(Dialog)不能改变大小,但是用户可以设置 resizable 属性为 true,使其可以改变大小。 创建对话框(Dialog) 对话框(Dialog)非常简单,可以从 DIV 标记创建,如下所示: <div i
问题内容: 单击图像时,我必须创建一个对话框。问题是我在那里有一些很大的z索引(例如500),而ui对话框位于该元素的背面。 这是您需要登录的页面,用户:“ raducup”并通过:“ 1”。另一个问题是,当我单击关闭对话框时,该对象消失了。 这是单击图像时调用的函数: 问题答案: 您没有告诉它,但是您正在使用jQuery UI 1.10。 在jQuery UI 1.10中,该选项已删除: 删除了
问题内容: 我正在寻找一种样式对话框(使用UI对话框),该样式对话框具有与传统对话框不同的独特CSS,因此从本质上讲,它具有两个外观各异的jQuery对话框。 例如,我已经设置了样式 还有一个 不幸的是,我注意到使用单独的CSS来设置对话框各部分的样式,例如 不起作用,因为没有该类,并且我也不能不插入插件而这样做。 另一种选择是使一个元素具有唯一的类/ id(取决于我想要的类/ id),但是这将阻
我有一个基本的SpringBoot应用程序。使用Spring初始化器、嵌入式Tomcat、Thymeleaf模板引擎和作为可执行JAR文件的包。我想在一个页面中使用一个JQuery对话框作为确认对话框(提示用户确认他们确定要删除一条记录),在这个页面中我已经有了一个可数据;但是当我把两者结合在一起时,似乎什么都不起作用。 当我点击按钮时: