我有一个站点,其上的链接(hrefs)很少,每个链接都显示一组输入 type=checkbox (从后台生成),当您单击它显示的链接时,可以说 10 个输入,其他那些变成显示:无;(在加载时,默认情况下只有一组初始复选框)并且使用我制作的 jquery,您可以切换您想要查看的复选框。
现在我需要创建一个对象,我可以在其中放置所有检查的内容,它们的名称和值,所以当我点击一个按钮时,我可以通过 ajax 将它发送到后端。
调用 ajax 的函数“并获取值和名称是”:
function Bada() {
var obj = $('.custom input[type="checkbox"]');
var checkedCount = obj.filter(':checked').length;
var checkedInputs = obj.filter(':checked');
console.log('The console is working');
for(check in checkedInputs){
console.log(checkedInputs[check].name);
console.log(checkedInputs[check].value);
}
delete window.checkedInputs;
delete window.obj;
$.ajax({
url: "/getItems",
type: "post",
data : { form: childCount, count: checkedCount },
success: function(responseText){
alert('works');
}
})
//unfocus the button after the call to server, otherwise the marker stays in the text of the button as if that text is selected
$('.button').blur();
}
我遇到的问题如下:当页面加载并且视图上有那些初始复选框(其他的在显示中:无;),一切正常,我得到一个复选框的名称和值,但只要我单击一个链接,它会设置显示其他复选框并将以前的复选框显示:无;,当我再次单击该按钮时,它不会获取选中复选框的名称和/或值,而是显示所有先前的复选框(选中和未选中,它们的整个列表,之前和当前显示的,但完全忽略是否选中或未选中任何内容)。所以我认为我创建了一个对象,它保留了这些值,不会覆盖它们,而是向以前添加新值并且完全困惑为什么它突然忽略过滤器,这就是为什么我试图通过删除来“清空”对象window.obj;,但它没有做任何事情。那么这里有什么问题呢?如果对我所写的内容有任何一般性的提示,将很高兴听到它们:) 谢谢!