当索引页面上的项目单击时发布 ajax
post ajax when item on index page clicked
我有一个索引页,用户可以一次激活一个项目。当用户单击激活按钮时,我想对项目执行某些操作。我的困境是如何识别页面上单击了哪个项目。有没有办法让我有 1 个 javascript 函数来处理任何点击的项目?
.html:
<ul>
<li> item 1 </li>
<li> item 2 </li>
<li> item 3 </li>
</ul>
.js:
$('.li').click(function() {
$.ajax({
url: "/activate,
type: 'post',
dataType: "json",
data: {
item: { id: 1 }
},
success: function(data){
alert("you did it")
}
})
})
要扩展其他注释,一旦修复了其他错误(例如选择器、缺少分号等),您就可以使用 this
变量来检索您要查找的信息。此外,您可以为每个 li 元素添加一个 id,以便您知道您正在查看哪一个。例如:
.HTML
<ul>
<li id="li1"> item 1 </li>
<li id="li2"> item 2 </li>
<li id="li3"> item 3 </li>
</ul>
爪哇语
$('li').click(function() {
console.log($(this).attr('id'));
});
如果您尝试选择 <li>
元素,请在 jQuery 中将.li
更改为li
(只需删除点)。
仅在选择类时使用点"."("#"表示选择 id)。所以基本上你一直在选择一个名为 li 的类,而不是元素<li>
选择所需的元素后,在 jQuery 选择器中,您可以使用$(this)
来引用单击的同一元素。
例如:
更改颜色
$("li").click(function(){
//Button was clicked
$(this).css("color", "#ff0000"); // Change color of clicked li
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>test 1</li>
<li>test 2</li>
</ul>
event
传递给处理单击的函数的参数。从中您可以找到目标元素:
$('.li').click(function(event) {
var target = event.target;
....
});
另一种方法是this
指标:
$('.li').click(function() {
$(this).text();
});
相关文章:
- 阻止在select2单击时调用ajax
- 单击事件中的ajax请求后重定向
- 防止用户在jQuery Mobile中ajax加载页面时单击其他位置
- 延迟单击事件,直到AJAX完成
- 如何进行AJAX调用,使其仅在我单击包含在特定类中的链接时触发;id”;父元素的
- jQuery在单击按钮时中止所有AJAX请求(query)
- 我的用户可以通过单击Ajax之外的按钮来访问$_SESSION的内容吗
- 按钮单击ajax调用
- 如何自动单击 AJAX 响应处理程序中自动生成的链接
- jQuery:单击Ajax返回数据,但在第一次调用时显示在警报中
- 无法在按钮单击Ajax调用时初始化Jquery数据表
- 如何在单击 Ajax 可排序表的行时打开信息窗口
- 单击(ajax,js)后禁用href
- 如何禁用隐藏时,鼠标单击Ajax Magnific弹出
- 如何获得文本框值通过按钮单击Ajax
- 单击ajax加载的按钮时调用JavaScript函数
- 在Full Calender JS中单击Ajax调用事件
- 单击ajax时更新现有的D3图
- 依次单击ajax事件附带的链接
- 如何使用 Greasemonkey 脚本自动单击 AJAX 按钮