我有以下.html代码:
{% for item in pager.recordList %}
<td>
<a id="log_ig" class="log_ig" href="{{ 'my_route'|url_route }}">{{ item.statut }}</a>
<input type="hidden" value="{{ item.id }}" id="ig_hidden">
</td>
{% endfor %}
和jquery:
$(document).ready(function () {
$(function() {
$('.log_ig').click(function(event) {
event.preventDefault();
$.ajax({
url: '{{ 'my_route'|url_route }}',
data: {
id_ig: $('#ig_hidden').val()
},
success : function(data){
$.nmData(data);
},
dataType: 'html'
})
});
});
});
问题是请求中的id_ig
每次都是数组中的第一个值。所以,如果我有一个item.id [1..10]
数组,我的$('#ig_hidden').val()
会返回第一个值。我不明白我的问题在哪里。你能帮帮我吗?
答案 0 :(得分:0)
您的代码中存在一些不好的概念。
{% for item in pager.recordList %}
<td>
<a id="log_ig" class="log_ig" href="{{ 'my_route'|url_route }}">{{ item.statut }}</a>
<input type="hidden" value="{{ item.id }}" name="ig_hidden">
</td>
{% endfor %}
在输入中将id更改为name。 Id应该是唯一的。
我猜你在<form></form>
您应该在ajax调用上序列化并发送该数据:
$(document).ready(function () {
$(function() {
$('.log_ig').click(function(event) {
event.preventDefault();
$.ajax({
url: '{{ 'my_route'|url_route }}',
data: $('#some-form').serialize(),
success : function(data){
$.nmData(data);
},
dataType: 'html'
})
});
});
});
通过这种方式,您将发送表单中的所有数据!