我有这个JQuery代码:
jQuery("#form").click(function() {
$("input[name='copyno']:checked").each(function() {
checkboxData = "copyno="+$(this).val();
id=$(this).val();
jQuery.ajax({
url: "renewall.php",
type: "POST",
data: checkboxData,
cache: false,
dataType: "text",
success: function(data) {
$("#" +id).html(data);
}
});
});
});
我想要做的是根据复选框值将响应数据放入特定的div中,在本例中为id,但响应数据仅显示在相同的div id中( id = $(this).val();)而不是在那里显示它具有相同的id值。
Som Kind og迭代问题
答案 0 :(得分:2)
您在截屏视频中向我展示的代码副本:
$("input[name='copyno']:checked").each(function() {
checkboxData = "copyno="+$(this).val();
ids = $(this).val();
jQuery.ajax({
url: "renewall.php",
type: "POST",
data: checkboxData,
cache: false,
dataType: "text",
success: function(data) {
var divs = $(data).filter(function() {
return $(this).is('#stil2'); //<-- add semicolon
});
divs.each(function() {
$("#" + ids).html(this);
});
}
});
});
无论如何,重要的是要在id
函数中正确声明click
变量,如:
$("input[name='copyno']:checked").each(function() {
checkboxData = "copyno="+$(this).val();
var ids = $(this).val();
//rest of your code...
});
请注意 div 之前的 var 实例化器。这应该可以解决您的问题。如果不这样做,则为第一次调用设置变量,但第二次调用将覆盖该变量。因此,当两个通话结束时,它们将具有相同的 ID 值,这是您的第二个div。
答案 1 :(得分:0)
在脚本开头使id
成为一个全局变量,然后你就可以在ajax函数中使用它了:
var id=null;
/*... your code... */