【发布时间】:2013-07-01 16:47:57
【问题描述】:
我有一个站点,其上的链接(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();
}
我遇到的问题如下: 当页面加载并且视图上有那些初始复选框时(其他的在显示中:无;),一切正常,我得到一个复选框的名称和值, 但是,当我单击一个链接并设置显示其他复选框并将以前的复选框置于显示中时:none;,当我再次单击该按钮时,而不是获取选中复选框的名称和/或值显示所有以前的复选框(选中和未选中,它们的整个列表,以前 和当前显示的也是,但如果有任何选中或未选中,则完全忽略)。 所以我认为我创建了一个对象,它保留了这些值,不会覆盖它们,而是向以前添加新值并且完全困惑为什么它突然忽略过滤器,这就是为什么我试图通过删除来“清空”对象window.obj;,但它没有做任何事情。 那么这里有什么问题呢?如果对我所写的内容有任何一般性提示,将很高兴听到它们:) 谢谢!
【问题讨论】:
-
这里 obj 和 checkedInputs 不是全局窗口对象的一部分
-
你有一些我们可以看到的示例 html,也许是a live demo?帮助我们为您提供帮助。
标签: jquery html object checkbox filter