您好,我对此复选框有疑问:
<input type="checkbox" id="hideTempSeries" checked="checked" value="0" />
Temperature <br />
<input type="checkbox" id="hideFlowSeries" checked="checked" value="1" />
Flow <br />
<input type="checkbox" id="hidePressSeries" checked="checked" value="2"/>
Pressure <br />
<input type="checkbox" id="hideCondSeries" checked="checked" value="3" />
Conductivity <br />
.. 和这个 jQuery 函数,它将这个复选框值的数组发送到一个名为
removePanes(checkedArray)
“每次任何复选框发生变化时”的函数
$("#tools :checkbox").change(function(){
if($(this).prop('checked')){// when Checked
}
else{// when unChecked
var checkedArray = [] ;
$("#tools :checkbox").each(function(index,value){
if($(this).prop('checked') == false){checkedArray.push($(this).val())}
});
removePanes(checkedArray) ;
}
removePanes() 函数
function removePanes(id){
var removeUncheckedSeries = $.map(newSeries , function(index,value){
for(var i=0 ; i < id.length ; i++){
if(index.yAxis == id[i])return null;
}
return index ;
});
var modified = $.map(removeUncheckedSeries, function(index,value) {
index.yAxis = 15 ;
return index ;
});
console.log(modified) ;
} ;
然后该removePanes(checkedArray)
函数获取此数组并从以下位置删除与未检查值等效的所有对象:newSeries[]
object
然后它将所有 yAxis 值设置为 15。
此功能不起作用。
因为每次复选框更改时,函数都不会重新加载 newSeries[] 对象,它只是在最后一次更改时修改它。
它的作用是,第一次单击工作正常,然后将所有 yAxis 设置为 15。当我取消选中任何其他框时,因为所有 yAxis 都等于 15 并且 jQuery 数组发送值从 0 到 3 什么也没发生。
问题:每次更改复选框触发时,如何removePanes(checkedArray)
重新加载对象?newSeries[]