新規投稿
フォローする

複数の項目で特定の値を入力したとき、チェックボックスを自動的にONにしたい

平素お世話になっております。

javascript初心者です。

題字にもありますとおり、複数の項目で特定の値を入力したときに、チェックボックスを自動的にONにしたいのですが、ON("済")にできずに立ち止まっております。

どこを修正すればよいか、ご教示願います。

インデントが何故か反映されず、読みにくく申し訳ありません。。。

//valueAのフォームにテストA、valueBのフォームにテストB と入力すると、チェックボックスにチェックが入るようにしたい

const Checked_EventType = [
"app.record.index.edit.submit",
"app.record.create.submit",
"app.record.edit.submit",
];

(function () {
"use strict";
kintone.events.on(Checked_EventType, function (event) {
let record = event.record;
console.log(record); //レコード内容表示されている
let valueA = record.formA.value;
console.log(valueA); //内容が表示されているのを確認
let valueB = record.formB.value;
console.log(valueB); //内容が表示されているのを確認
let checked = record.Check.value;
console.log(checked); // [] チェックなしが表示される
               //valueAのフォームにテストA、valueBのフォームにテストB と入力すると、チェックボックスにチェックが入る
               //ここがうまくいっていません
if ((valueA = "テストA") && (valueB = "テストB")) {
if ((checked = [])) {
checked = ["済"];
}
}
return event;
});
})();
0

5件のコメント

Avatar
juridon

if ((valueA = "テストA") && (valueB = "テストB")) {

ifの中の=の数がヒントです!



0
Avatar
T.N

juridon様

ありがとうございます。

以下のように書き換えることで、 ifの条件(valueA,valueB)は通りましたが、

その次の条件文に問題があるのかチェックボックスにチェックが付きませんでした。

色々と書き換えを試してみましたが実現せず。。。

引き続きになりますが、ご教示いただけますでしょうか。

よろしくお願いいたします。

if ((valueA === "テストA") && (valueB === "テストB")) {
     if ((checked = [])) {
console.log("条件を達成しています"); //コンソールで表示されました
     checked = ["済"];
}
0
Avatar
juridon

=の数は重要ですのでif文をもう一度見直してみて下さい。

0
Avatar
T.N

juridon様

ご指摘ありがとうございます。

まだ解決には至っておりませんが、再度見直しデバッグ行っていきます。

一旦これにて終了とさせていただきます。

ご協力ありがとうございました。

0
Avatar
juridon

=が原因だと思っていましたが、違っていたのですね。
すみません。

もしかしたらですが、
checked = ["済"] でも行けそうな気がしますが、
checked は配列なので、checked.push("済")のようにしないといけないかもしれません。
(間違っているかもしれません(汗))


0
サインインしてコメントを残してください。