私は空を持っていますsendStatus[]
。基本的に、ユーザーがチェックボックスをクリックしている間、アレイに存在するかどうかの値をチェックしています。それがない場合は、ユーザーがチェックボックスを再度クリックした場合に備えて、「add + this.value」で値を追加します。
「add+this.value」が含まれているかどうかを確認していsendStatus[]
ますが、それが存在する場合はそれを削除し、「remove+this.value」として新しい値を追加しているため、「add+this.value」として値を取得するのは私だけですまたは、各チェックボックスで「remove + this.value」。
これを行うには、この関数を使用しましたが、機能しません:
var sendStatus = [];
var clearValues = function(newVal){
console.log("calling",newVal);
}
$("form").on("click", ":checkbox", function(e){
var el = $(this),parentClass = $(this).parent().hasClass("green"),label = $(this).parent();
if(!parentClass){
label.addClass("green");
sendStatus = $.grep(sendStatus, function(value) {
return value != "remove" + el.val();
});
if ($.inArray("add" + el.val(), sendStatus) === -1) {
sendStatus.push("add" + el.val());
}
}else{
label.toggleClass("red");
sendStatus = $.grep(sendStatus, function(value) {
return value != "add" + el.val();
});
if ($.inArray("remove" + el.val(), sendStatus) === -1){
sendStatus.push("remove" + el.val());
}
}
console.log(sendStatus);
})
誰もが私の機能を簡素化し、私が直面している問題を強調します..事前に感謝します。