【发布时间】:2016-04-18 10:04:33
【问题描述】:
我有一些带有bootstrapSwitch 样式的复选框。
我编写了一个脚本,当 bootstrapSwitch state 为真时,必须将复选框的值添加到数组中。
这是我的代码:
$('input[name^=skill]').on('switchChange.bootstrapSwitch', function (event, state) {
//alert(state);
//var s = [];
var s = new Array();
if( state === true )
{
//var value = $(this).val();
s.push( $(this).val() );
console.log(s);//(value)
}
console.log(s);//(value)
});
但令人惊讶的是push 方法替换了值,而我的s 数组总是有一个索引。
请告诉我这是为什么?
在此先感谢
【问题讨论】:
-
从处理程序中定义数组..或者每次调用处理程序时它将被初始化为
[](empty-array)... -
那是因为您在每次点击时重新创建
s。尝试将s的声明移到事件回调之外
标签: javascript arrays bootstrap-switch