循环复选框和构建JavaScript对象文字
Loop checkboxes and built JavaScript object literal
嘿,我正试图找出一种方法来添加数据到一个JS对象,当我循环,看看哪些复选框在页面上被选中:
jQuery('#doaction').click(function () {
var bulkSelected = jQuery('#bulkAction').val();
var checkCount = 1;
if (bulkSelected == 0) {
console.log('no bulk selected category');
jQuery('#overlay-shade').fadeOut(300);
} else {
var doBulk = {
called: '' + bulkSelected + '',
};
jQuery('input[type=checkbox]').each(function () {
if (jQuery(this).attr('id') != 'selectAll') {
var isChecked = (this.checked ? true : false);
if (isChecked == true) {
console.log(jQuery(this).attr('id'));
console.log(jQuery(this).attr('data-accnum'));
}
checkCount++;
}
});
}
.attr('data-accnum')包含如下所示的数字。我需要它的格式是:
(复选框名称:accnum)
var doBulk = {
chk1: 52136523168,
chk2: 54298851631
ect..ect...
};
我该怎么做呢?
尝试:
var doBulk = {};
jQuery('input[type=checkbox]').each(function () {
if (jQuery(this).attr('id') != 'selectAll') {
var isChecked = (this.checked ? true : false);
if (isChecked == true) {
doBulk[jQuery(this).attr('id')] = +jQuery(this).attr("data-accnum");
}
checkCount++;
}
});
console.log(doBulk);
jQuery有一个:checked选择器,以及一个not方法,我们使用它只获取所有非#selectAll
的checked输入
然后您只需将其添加到doBulk
对象使用括号符号,从each
函数中访问doBulk
对象是可能的,因为javascript有闭包。
var doBulk = {}
, checked = jQuery('input[type=checkbox]:checked').not('#selectAll')
, checkCount = checked.length;
checked.each(function () {
doBulk[this.id] = jQuery(this).attr('data-accnum');
});
相关文章:
- 如何计算对象文字中的键
- 对象文字方法上的Javascript绑定不起作用
- 可以使用“;创建“;作为JavaScript对象文字中的属性名称
- 这两种不同的创建对象文字的方法有什么区别
- Javascript对象文字,POST问题
- 为什么可以'我们在函数体中为函数对象添加属性,就像在javascript中为对象文字添加属性一样
- 如何使用'这个“;对象文字中的关键字
- JS对象文字中的方法和子方法
- 向JavaScript对象文字添加数据
- Javascript对象文字,如何使用“this”来引用对象中的变量
- 如何将xml文件转换为javascript中的对象文字
- 什么's对象文字中带引号和不带引号的键之间的区别
- 使用窗口对象练习我的对象文字函数
- 对象文字数据表中的 Google 可视化样式角色
- 如何创建作用域的动态、基于实例的对象文字
- Javascript将字符串中的对象转换为对象文字
- 我需要一些帮助来理解JavaScript中的对象文字函数
- 为什么动画设置加载在TweenMax中的两个单独的对象文字中
- 对象文字语法怪异
- 对象文字中的类