こんにちは、このチェック ボックスに問題があります。
<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 />
removePanes(checkedArray)
.. この jQuery 関数は、このチェック ボックスの値の配列を"チェック ボックスのいずれかが変更されるたびに"という関数に送信します
。
$("#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[]