捕获一个字符串并在单击按钮时将其传输到 Javascript 函数
Catch a string and transmit it to a Javascript function on button click
以下是 Django 模板语言语法。但这没关系。
{{ }} 表示从框架传输的东西。
在后台我有两个相关的模型。那可能是人和他们的地址。一对多关系。所以,一个人有多个地址。
好吧,在包含此人详细信息的页面中,我列出了他们的地址列表。右边的每个地址都有两个按钮:编辑和删除。当然是通过 AJAX 更新。
如何编辑和删除对我来说是个谜。以编辑为例。
这是模型详细信息的一部分。
<ul id="{{ related_model_name }}_ul" class="update">
{% for object in object_list %}
<li>{{ object }}
<a href="javascript:void(0)">Edit</a>
</li>
{% endfor %}
</ul>
我们这里有什么:
1. {{ object }} 将只呈现一个字符串。比如“白金汉宫
London SW1A 1AA”。因此,它不可点击,但 "Edit" 可点击。
框架可以像这样为这个对象生成更新url {{ object.get_update_url }},这将导致类似 'person/12/update_address/'.我想通过单击事件 Javascript 捕获此更新 url 。然后我就可以通过 AJAX 将其传输到服务器。
那我就这样:
function update_address(url){
$.ajax({
method: 'get',
url: url,
success: show_address_form_get,
error: fail
});
}
function handle_update_buttons(){
var update_button_list = $(".update");
$.each(update_button_list, function assign_click(){
this.click(update_date);
})
}
嗯,这是我的大概想法。 Web开发的新手。也许有更简单的方法。
你能给我一个提示,如何在单击相应的编辑按钮时将每个地址的更新 url 传输到 update_date 函数。
您可能希望将 data-attribute
分配给 link:
,例如 data-updateUrl
<ul id="{{ related_model_name }}_ul" class="update">
{% for object in object_list %}
<li>{{ object }}
<a href="javascript:void(0)" data-updateUrl="{{ object.get_update_url }}">Edit</a>
</li>
{% endfor %}
</ul>
然后您可以将该属性用于您的函数(在您的点击处理程序中)
function clicked(el) {
var updateUrl = el.target.getAttribute('data-updateUrl');
}
以下是 Django 模板语言语法。但这没关系。 {{ }} 表示从框架传输的东西。
在后台我有两个相关的模型。那可能是人和他们的地址。一对多关系。所以,一个人有多个地址。
好吧,在包含此人详细信息的页面中,我列出了他们的地址列表。右边的每个地址都有两个按钮:编辑和删除。当然是通过 AJAX 更新。
如何编辑和删除对我来说是个谜。以编辑为例。
这是模型详细信息的一部分。
<ul id="{{ related_model_name }}_ul" class="update">
{% for object in object_list %}
<li>{{ object }}
<a href="javascript:void(0)">Edit</a>
</li>
{% endfor %}
</ul>
我们这里有什么: 1. {{ object }} 将只呈现一个字符串。比如“白金汉宫 London SW1A 1AA”。因此,它不可点击,但 "Edit" 可点击。
框架可以像这样为这个对象生成更新url {{ object.get_update_url }},这将导致类似 'person/12/update_address/'.我想通过单击事件 Javascript 捕获此更新 url 。然后我就可以通过 AJAX 将其传输到服务器。
那我就这样:
function update_address(url){ $.ajax({ method: 'get', url: url, success: show_address_form_get, error: fail }); }
function handle_update_buttons(){
var update_button_list = $(".update");
$.each(update_button_list, function assign_click(){
this.click(update_date);
})
}
嗯,这是我的大概想法。 Web开发的新手。也许有更简单的方法。
你能给我一个提示,如何在单击相应的编辑按钮时将每个地址的更新 url 传输到 update_date 函数。
您可能希望将 data-attribute
分配给 link:
data-updateUrl
<ul id="{{ related_model_name }}_ul" class="update">
{% for object in object_list %}
<li>{{ object }}
<a href="javascript:void(0)" data-updateUrl="{{ object.get_update_url }}">Edit</a>
</li>
{% endfor %}
</ul>
然后您可以将该属性用于您的函数(在您的点击处理程序中)
function clicked(el) {
var updateUrl = el.target.getAttribute('data-updateUrl');
}