我的酱汁在下面。
使用 render_to_string 创建的模板中的元素不是 Jquery 控件。
▶ index.html
{% extends 'common/base.html' %}
{% block contents %}
<section>
<div class="main-goods-area">
<div class="container" id="prod_list">
</div>
</div>
</section>
{% endblock %}
{% block jquery %}
<script src="{% static 'js/index.js' %}"></script>
{% endblock %}
▶ index.js
$(function() {
show_inf_list('0','0','0','0','0');
function show_inf_list(section, selection, ordering, start, limit){
$.ajax({
url:'/campaign/list/',
data:{
'campaign_section': section,
'selection_type': selection,
'ordering_type': ordering,
'start': start,
'limit': limit
},
dataType:'json',
success: function (data) {
$('#prod_list').html(data.campaign_list);
}
});
}
$('a[name=btn_like]').on('click', function (e) {
e.preventDefault()
console.log('a');
return false;
});
});
▶ 视图.py
def ...
data['campaign_list'] = render_to_string(
'main/include/prod_list.html',
context=context,
request=request
)
return JsonResponse(data)
▶ prod_list.html
<div class="ic-area">
<ul>
<li>
<a href="" name="btn_like" data-id="{{ campaign.id }}">
{% if user.influencer in campaign.like_users.all %}
<i class="ic_heart_small active"></i>
{% else %}
<i class="ic_heart_small"></i>
{% endif %}
</a>
</li>
</ul>
</div>
我想要控制“btn_like”元素
但是,我无法控制 'a[name=btn_like]'
如何在 render_to_string 模板的元素中使用 Jquery Control?