如何使用 Django 模板中的动态 DOM 元素通过 jquery 进行 Ajax 调用
How to make an Ajax call through jquery with dynamic DOM elements in Django templates?
我有一个侧边栏,其中包含用户最喜欢的商店列表。我希望能够单击商店元素(例如商店,地址)并能够提取有关该元素的信息(例如商店销售)并更新名为"txn_table"的销售表。
我滔滔不绝,我必须将存储 id 传递给 jquery -> Ajax 以提取有关存储的信息,然后更新 DOM。
问题是不同的用户可能在其列表中具有不同的商店,因此我无法为每个列表元素预先分配id标签。如何动态传递激活 AJAx 调用的store_id?
这是侧边栏的代码:
<nav id="sidebar" role="navigation">
<ul class="nav">
<li><a href="#" onclick="???">
{% for store in store_list %}
<li><a href="#">
{{ store.name }}
{{ store.address }}</a>
{% endfor %}
</li>
</ul>
</nav>
下面是 jquery/AJAX 调用:
<script>
$(document).ready(function(){
// Submit post on submit
// Typically I would replace a with a id to specify the element selected.
$('a').on('click', function(event){
event.preventDefault();
});
function update_txns(account_id) {
$.ajax({
type: 'GET',
url:'update_txns',
data: 'store_id',
success: function(result){
$('txn_table').html(result);
}
});
}});
</script>
这
很简单,只需添加并id
到标签<a>
,然后click
事件将提取该id,您就设置好了:
<nav id="sidebar" role="navigation">
<ul class="nav">
<li><a href="#" onclick="???">
{% for store in store_list %}
<li><a class="store-item" id="store_{{ store.id }}" href="#">
{{ store.name }}
{{ store.address }}</a>
{% endfor %}
</li>
</ul>
</nav>
然后你的JavaScript:
<script>
$(document).ready(function(){
// Submit post on submit
// Typically I would replace a with a id to specify the element selected.
$('.store-item').on('click', function(event){
event.preventDefault();
var store_id = $(this).attr('id').split('_')[1];
// rest of the logic
});
}});
</script>
相关文章:
- 可以't附加html元素jquery
- 循环遍历元素jquery选择器
- 在ajax加载的元素jquery上包含现有的jquery函数
- 如何删除元素列表中的类并添加到另一个元素 Jquery.
- 获取单击的类元素 jQuery 的名称值
- 获取上一个元素 jQuery 的内容
- 根据另一个元素的更改获取一个元素(jquery)
- 区分不同的可拖放元素(jQuery 拖放)
- 除了最后一个<td>元素-Jquery
- 获取子元素jQuery的单选按钮值
- 捕获元素jquery外部的mousedown事件
- .append到非DOM元素jQuery
- 获取其父元素的精确子元素.Jquery
- 获取重复结构中的特定元素jquery
- 捕获隐藏输入元素jQuery的值
- 使用onclick函数获取点击的元素jquery
- 返回父元素 jquery 中的输入值
- 按属性查找元素 jQuery
- 选择元素 jQuery
- 按子元素 - jQuery 的数据 ID 对 li 进行排序