- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 javascript/jquery 几乎一无所知:
我有一个 ajax 调用,它返回 html 表中格式化的条目,如下所示:
Stuff | Other stuff | delete stuff
------|----------------|-------------------------
value1| from database | delete this entry button
------|----------------|-------------------------
value2| from database | delete this entry button
上面写着“删除内容”的列有一个按钮,可以调用删除该条目的方法。我一直在尝试做的是将支票簿添加到每行的末尾,并将一个数组发送到 php 来执行多记录删除。
这是电话:
$('#menu-notifications').click(function() {
$.ajax({
type: 'GET',
url: '/admin/notifications/ajax_view_notifications/' + <?= $this->session->userdata('user_id'); ?>,
dataType: 'json',
cache: false,
success: function(data) {
$("#notifications-modal .modal-body table").find("tr:gt(0)").remove();
$.each(data, function(i, obj) {
$('#notifications-modal .modal-body table tr:last').after(
'<tr><td>' + htmlDecode(obj.message) + '</td>' +
'<td>' + obj.created_by + '</td>' +
'<td>' + obj.created_dt + '</td>' +
'<td><div class="btn-group">' +
'<a href="/admin/notifications/ajax_delete_notification/' + obj.id + '" class="btn btn-mini delete-notification" id="delete-notification" data-dismiss="modal"><i class="icon-remove"></i></a>' +
// here should be a checkbox to mark for deletion
'</div></td></tr>');
});
}
});
我已成功添加复选框,但每次尝试都会出现<?=form_open();?>
或打开另一个表单导致页面根本无法加载(控制台中没有任何内容)。
总结一下:我试图在每行的末尾附加一个复选框,我可以标记这个复选框,并将每个标记的复选框发送到一个方法。
最佳答案
您需要使用 HTML array 创建每个复选框,它的值将是元素 id,那么您需要一个操作(例如“删除全部”按钮),通过 Ajax 将数据发送到 PHP(无需表单):
$('#menu-notifications').click(function() {
// Simpler: use getJSON
$.getJSON('/admin/notifications/ajax_view_notifications/' + <?= $this->session->userdata('user_id'); ?>)
// Clearner: use promises :)
.done(function(data) {
$("#notifications-modal .modal-body table").find("tr:gt(0)").remove();
$.each(data, function(i, obj) {
// Create a row
var row = $('<tr>');
// Crete cells
var cells =
'<td>' + htmlDecode(obj.message) + '</td>' +
'<td>' + obj.created_by + '</td>' +
'<td>' + obj.created_dt + '</td>' +
// We use this identified cell to create our delete functionality
'<td class="delete-row"></td>';
// Fill the row
row.append(cells);
// Create the delete button
var deleteButton = $('<a>', {
'href': '/admin/notifications/ajax_delete_notification/' + obj.id
,'class': 'btn btn-mini delete-notification'
// We can't have duplicate ids, so no ids here
// ,id: 'delete-notification'
,'data-dismiss':'modal'
,'html': '<i class="icon-remove"></i>'
});
// Crete the checkbox
var checkbox = $('input', {
'type': 'checkbox'
// We use an HTML array
,'name': 'rowsToDelete[]'
,'value': obj.id
});
// Append the button and the checkbox to the row
// I ignore the .btn-group on purpose
row.find('.delete-row')
.append(deleteButton)
.append(checkbox);
// We add the row to the DOM
$('#notifications-modal .modal-body table tr:last').append(row);
});
});
});
// To delete in group we use a different call, let's say, a 'Delete All' button
$('#delete-all').click(function() {
// We serialize the info of all the buttons
// Find all checkbox under the .delete-row class and serialize it
data = $('.delete-row').find(':checkbox').serialize();
// Send the data to PHP
$.post('/admin/notifications/ajax_delete_notification/delete_a_bunch', data)
// PHP would receive $_POST['rowsToDelete'] = [1, 2, 4, 20]
.done(function(data) {
alert('All selected rows were deleted');
})
.fail(function() {
alert('No rows deleted :/');
});
});
<小时/>
// To delete in group we use a different call, let's say, a 'Delete All' button
$('#delete-all').click(function() {
// We serialize the info of all the buttons
// Find all checkbox under the .delete-row class and serialize it
data = $('.delete-row').find(':checkbox').serialize();
// Alert the data (test only)
$("#r").text(data.replace(/deleteRow/g, '$_POST[deleteRow]').replace(/%5B%5D/g, '[]').replace(/\&/g, ";\n") + ';');
/*
// Send the data to PHP
$.post('/admin/notifications/ajax_delete_notification/delete_a_bunch', data)
// PHP would receive $_POST['rowsToDelete'] = [1, 2, 4, 20]
.done(function(data) {
alert('All selected rows were deleted');
})
.fail(function() {
alert('No rows deleted :/');
});
*/
});
table {
width: 100%;
}
th, td {
border-bottom: 1px solid #ddd;
text-align: left;
}
#r {
display: block;
border-top: 1px solid #ddd;
padding: 10px 0;
margin-top: 10px;
height: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<table>
<thead>
<tr>
<th>Dummy header</th>
<th>Dummy header</th>
<th>Dummy header</th>
<th>Check to delete</th>
</tr>
</thead>
<tbody>
<tr>
<td>Dummy Text</td>
<td>Dummy Text</td>
<td>Dummy Text</td>
<td class="delete-row">
<input type="checkbox" name="deleteRow[]" value="2">
</td>
</tr>
<tr>
<td>Dummy Text</td>
<td>Dummy Text</td>
<td>Dummy Text</td>
<td class="delete-row">
<input type="checkbox" name="deleteRow[]" value="3">
</td>
</tr>
<tr>
<td>Dummy Text</td>
<td>Dummy Text</td>
<td>Dummy Text</td>
<td class="delete-row">
<input type="checkbox" name="deleteRow[]" value="6">
</td>
</tr>
<tr>
<td>Dummy Text</td>
<td>Dummy Text</td>
<td>Dummy Text</td>
<td class="delete-row">
<input type="checkbox" name="deleteRow[]" checked value="10">
</td>
</tr>
</tbody>
</table>
<hr>
<button id="delete-all">Delete all elements</button>
<pre id="r"></pre>
关于javascript - AJAX:将值数组发布到 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26143582/
有人有 Comet 应用程序 .net 的任何样本吗? 我需要一个示例如何在服务器中保持客户端的连接? 最佳答案 这里也有一些不错的: http://www.frozenmountain.com/we
我想知道是否有 Yii2 专家可以帮助我了解如何最好地使用 ajax 表单与 Yii ajax 验证相结合。我想我可以在不带您阅读我所有代码的情况下解释这个问题。 我正在处理一个促销代码输入表单,用户
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度的了解。包括尝试的解决方案、为什么它们不起作用以及预期结果
f:ajax 和 a4j:ajax 标记之间有什么显着差异吗? 我知道 Richfaces 4 中的 a4j:ajax 基于 native f:ajax JSF2 标记,添加了一些 f:ajax 中未
我已经尝试过这样但无法获取数组列表。它返回“null” var data=[]; data[0] = '1'; data[1] = '2'; $.ajax({
在教程中可以看到 jQuery.ajax 和 $.ajax 喜欢这里 http://www.thekludge.com/form-auto-save-with-jquery-serialize/ jQ
过度使用 AJAX 会影响性能吗?在大型 Web 应用程序的上下文中,您如何处理 AJAX 请求以控制异步请求? 最佳答案 过度使用任何东西都会降低性能;在必要时使用 AJAX 将提高性能,特别是如果
似乎我无法使用 Ext.Ajax.request 进行跨域 ajax 调用。看起来 ScriptTag: True 没有任何效果。 这是我的代码: {
我正在使用 Bottle 微框架(但我怀疑我的问题来自它) 首先,如果我定义了一个从/test_redirect 到/x 的简单重定向,它会起作用。所以 Bottle redirect() 在简单的情
任何人都可以指出各种 AJAX 库的统一比较吗?我已经阅读了大约十几种不同的书,我即将开始一个项目,但我对自己是否已经探索了可能性的空间没有信心。 请注意,我不是在要求“我认为 XXX 很棒”——我正
似乎使用 AJAX 的站点和应用程序正在迅速增长。使用 AJAX 的主要原因之一可能是增强用户体验。我担心的是,仅仅因为项目可以使用 AJAX,并不意味着它应该。 可能是为了 UX,AJAX 向站点/
假设我有一个可以通过 Javascript 自定义的“报告”页面。假设我有可以更改的 start_date、end_date 和类型(“简单”或“完整”)。现在 我希望地址栏始终包含当前(自定义) V
我一直在阅读 Ajax 并且希望从 stackoverflow 社区看到我是否正确理解所有内容。 因此,正常的客户端服务器交互是用户在 url 中拉出 Web 浏览器类型,并将 HTTP 请求发送到服
这可能有点牵强,但让我们假设我们需要它以这种方式工作: 我在服务器的 web 根目录中有一个 index.html 文件。该文件中的 javascript 需要向/secure/ajax.php 发出
关闭。这个问题是opinion-based .它目前不接受答案。 想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它. 去年关闭。 Improve this
我希望ajax post成功进入主页。由于某种原因,我一直做错事。知道我应该做什么来解决这个问题吗? window.APP_ROOT_URL = ""; Ajax $.ajax({ url: '#{a
我在 2 个不同的函数中有 2 个 ajax 调用。我想用.click来调用这2个函数。 func1 将数据插入数据库,然后 func2 检索数据,所以我的问题是如何等到 func1 完全完成然后只执
我试图在单击按钮后禁用该按钮。我尝试过: $("#ajaxStart").click(function() { $("#ajaxStart").attr("disabled", true);
我试图在每个 Ajax 请求上显示加载动画/微调器 我的 application.js $(document).on("turbolinks:load", function() { window.
我正在显示使用jQplot监视数据的图形。 为了刷新保存该图的div,我每5秒调用一次ajax调用(请参见下面的JavaScript摘录)。 在服务器上,PHP脚本从数据库中检索数据。 成功后,将在5
我是一名优秀的程序员,十分优秀!