有没有办法对单个页面上的多个项目使用相同的jQuery Ajax
Is there a way to use the same jQuery Ajax for multiple items on a single page?
我有一个页面,人们可以在其中将内容添加到他们的"收藏夹"列表中:
$(function(){
$('.doit-01234').click(function (e) {
e.preventDefault();
$.ajax({
url: "https://www.domain.com/page.php?add=01234",
type: "GET",
success: function (data) {
$(".result-01234").html('<span class="icon-favorite-green"></span>');
},
error: function (xhr, ajaxOptions, thrownError) {
$(".result-01234").html('<span class="icon-favorite-red"></span>');
},
timeout: 15000
});
});
});
项目与page.php?add=01234
一起添加。但是,同一页面可能包含 20 或 30 个项目,用户可以将其添加到收藏夹中。有没有一种简单的方法可以在每个项目之后一遍又一遍地将此脚本的一个实例用于多个 ID,而不是相同的 jQuery 代码?
这意味着page.php?add=9999
会在调用.doit-9999
时更新.result-9999
,page.php?add=5151
会更新.result-5151
等等......
为元素指定一个公共类和一个自定义数据属性:
<div class="ajax doit-01234" data-id="01234"></div>
然后使用 1 个处理程序:
$('.ajax').click(function (e) {
e.preventDefault();
var id = $(this).data("id");
$.ajax({
url: "https://www.domain.com/page.php?add=" + id,
type: "GET",
success: function (data) {
//Concatenate a selector based on the "id" in the data attribute
$(".result-" + id).html('<span class="icon-favorite-green"></span>');
},
error: function (xhr, ajaxOptions, thrownError) {
//Concatenate a selector based on the "id" in the data attribute
$(".result-" + id).html('<span class="icon-favorite-red"></span>');
},
timeout: 15000
});
});
像这样创建这个函数:
function Name (e) {
var code = 01234;//extract your code like 1234 here by splitting or..
e.preventDefault();
$.ajax({
url: "https://www.domain.com/page.php?add=01234",
type: "GET",
success: function (data) {
$('.result-'+code).html('<span class="icon-favorite-green"></span>');
},
error: function (xhr, ajaxOptions, thrownError) {
$('.result-'+code).html('<span class="icon-favorite-red"></span>');
},
timeout: 15000
});
});
现在要调用这个函数的地方,可以这样调用:.HTML:
<button onclick="Name(this);">Hello</button>
相关文章:
- JQuery Masonry.Ajax图标和“;加载新项目”;绳子放错地方了
- 当索引页面上的项目单击时发布 ajax
- 有没有办法对单个页面上的多个项目使用相同的jQuery Ajax
- 使用ajax/javascript选择项目并将其添加回mysql
- Ajax;选中3个项目后,JavaScript多选onchange失败
- jQuery;Ajax-在页面加载时将项目加载到选择输入
- 如何在选择项目时使用 ajax 将数据提取到输入字段中
- 为什么在 IIS7 中托管 MVC3 项目时,我的 AJAX 加载第一次失败
- jQuery.ajax 为什么不从 php json_encode 访问该项目
- 谁能解释一下这个 ajax .each 函数中的项目来自哪里
- 成功后在 ajax 中显示我选择的一个项目而不是整个列表项
- JQuery $ajax只获取日期在今天之前的项目
- 在 ajax call-JavaScript 中返回的 100 个项目的限制
- 如何使用AJAX删除项目
- 使用Ajax调用javascript访问Basecamp项目
- Jquery Ajax请求返回cakeHP项目中禁止的(403)
- 一次添加一个项目到“;推车”;在Django、Ajax和Jquery中使用复选框
- 如何使用jquery ajax显示复选框列表中的项目
- PHP AJAX分页将项目加载到多个容器中
- HTML5缓存Spring项目Ajax调用问题