Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在django模板中将列表html中的数据id转换为javascript?_Javascript_Html_Django Templates - Fatal编程技术网

如何在django模板中将列表html中的数据id转换为javascript?

如何在django模板中将列表html中的数据id转换为javascript?,javascript,html,django-templates,Javascript,Html,Django Templates,我试图列出几个元素,并有可能通过模式编辑它们,我试图使用数据id属性,但这样它只适用于列表的第一个元素 这是我的Html: {job_title_list%}中的job_title的% {{job_title.title} {%endfor%} 这是我的javascript: //更新 $(“#更新{{{job_title.pk}}”)。单击(函数(){ var id=$(this.data(“id”); var title=$(此).data(“title”); $(“#更新#U标题”)。前

我试图列出几个元素,并有可能通过模式编辑它们,我试图使用数据id属性,但这样它只适用于列表的第一个元素

这是我的Html:

{job_title_list%}中的job_title的%
{{job_title.title}
{%endfor%}
这是我的javascript:

//更新
$(“#更新{{{job_title.pk}}”)。单击(函数(){
var id=$(this.data(“id”);
var title=$(此).data(“title”);
$(“#更新#U标题”)。前置(
“{%trans'Nome do cargo%}”
);
document.getElementById(“职务”).value=title;
$(“#更新sts”)。前置(
“{%if l.status='1'%}{%trans'Ativo'}{%trans'Inativo'}{%else%}{%trans'Inativo'}{%trans'Ativo'}{%endif%}”
);
});

不清楚这个JS在模板中的位置,但问题是,除非您将它移动到
for
循环(我不建议这样做),
{{job\u title.pk}
将有一个值,所以这个点击处理程序将只附加到一个元素

由于此ID似乎是JS中唯一依赖于特定
作业_title
元素的内容,并且使用
$(this)
访问您所需的特定于单击元素的内容,您可以通过删除JS中对循环变量的所有引用,只需更改选择器即可实现此功能。我看到两种选择,这两种选择都应该有效:

1) 创建一个适用于所有以
update\ucode>开头的ID的ID:

$("[id^=update_]").click(function(){...})
2) (可能更简单,我建议)用类替换各种ID:

HTML-

<a class="col-xs-1 text-info" data-id="{{job_title.id}}" data-title="{{job_title.title}}" class="update" href="#" data-toggle="modal" data-target="#UpdateModal">

谢谢兄弟,我明天会尝试实现这个Sorry budy,但是通过这种方式如何访问js脚本中的值?
javascript$(“.update”)。单击(function(){console.log('called');…
this no execute console.log(),你能帮助我吗,im后端开发人员和我在js和HTMLID方面有一些问题。你可以更改HTML以包含类,如我在回答中所示?你需要在每个元素上使用
class=“update”
$(".update").click(function(){...})