ifでのドロップダウンのデフォルト設定

VBAやpythonは書いたことありますが、JS、kintoneカスタマイズは初心者です

現在、
ドロップダウン フィールドコート「棚列」 中身「A,B,C」
ドロップダウン フィールドコート「棚行1」 中身「1,2,3」
ドロップダウン フィールドコート「棚行2」 中身「1,2,3,4,5」
文字列 フィールドコート「棚行列」 中身「棚列&棚行1&棚行2」
を作り、物理的な棚の中身を管理するアプリを作成しております。その配置をエクセル風にし、一覧に「棚行列」を表示してどこに何があるかわかるようにしております。ただし、物理的に、行の方の数字が列によって異なるため、以下のように記載しました。

(() => {
‘use strict’;
// 制御に利用するフィールドコード
const statusFieldCode_ = ‘棚列’;
// 表示非表示を切り替えるフィールドのフィールドコード
const fieldCodes1 = ‘棚行1’; //Aのとき
const fieldCodes2 = ‘棚行2’; //B,Cのとき
//
kintone.events.on([
‘app.record.create.show’,
‘app.record.edit.show’,
app.record.create.change.${statusFieldCode_},
app.record.edit.change.${statusFieldCode_}
], (event) => {
const record = event.record;
const statusFieldValue_ = record[statusFieldCode_].value;

  if (statusFieldValue_ == 'A') {
    kintone.app.record.setFieldShown(fieldCodes1, true);
    kintone.app.record.setFieldShown(fieldCodes2, false);
    record['棚行2'].value = null;
  } else if (statusFieldValue_ == 'B'|| statusFieldValue_ == 'C') {
      kintone.app.record.setFieldShown(fieldCodes1, false);
      kintone.app.record.setFieldShown(fieldCodes2, true);
      record['棚行1'].value = null;
  } else {
    kintone.app.record.setFieldShown(fieldCodes1, false);
    kintone.app.record.setFieldShown(fieldCodes2, false);
    record['棚行1'].value = null;
    record['棚行2'].value = null;
};

return event;

});
})();

ただし、ここで、最後のelseが棚列のデフォルト"-----"を選ばれたときにこのような動作を期待しているのですが、実際には実行されません。棚に置かない大きなものも管理対象としているため、棚列等を必須項目にはできず、例えば、A1と選んだ後に、Aを-----のデフォルトに戻しても棚行1の1が選択されたまま、保存されるということが起こり、デフォルト時に、nullを入れたい(できれば、falseも)のですが、どうすればよいでしょうか?

ドロップダウンの空欄(—)を選んでも期待する動作しないということですよね?
パット見問題ないようにもみえますが,

ブレークポイントを貼って実際どうなってるか見るのが一番はやいとおもいます。
https://cybozu.dev/ja/id/42b1d7ce01fd5d9b53dbf4df/#methods-list-4

こちらためしてみて、else の中にはいってるのか入ってないとしてどうなってるのか、というのを一度みてみるといいとおもいます。

「いいね!」 1

ありがとうございます。デバック環境知らなかったので、こちらで試してみました。結果、うまく動作してました。

また、投稿後もあーでもない、こーでもない等々仕事の合間にやってみてたのですが、そのせいで、すみません、何が功を奏したのか不明になってしましました。見た目、同じコードのように見えて、元々if(A)とelse if(BorC)はうまく動いていたので、どこかに不足があったのか。。

何せよ、初心者の私にとって大変貴重な情報大変ありがとうございました。

「いいね!」 1

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。