テーブル内のフィールドに値に応じて初期値を設置する

テーブル内の入力フィールド(ドロップダウン)が「未」であれば、番号フィールドに「A」、「済」であれば「A B」と動的に表示させたい。
IF関数で表示だけならさせられますが、表示させた文字列の後ろに手入力で入力したいため困っています。
ご教示いただけませんでしょうか。

(function() {
    "use strict";

    // ドロップダウンフィールドの値に応じて「番号」フィールドの値を設定する関数
    function updateNumberField(record, rowIndex) {
        var table = record.テーブル.value;

        if (rowIndex !== undefined) {
            var dropdownValue = table[rowIndex].value.入力.value;
            if (dropdownValue === "未") {
                table[rowIndex].value.番号.value = "A";
            } else if (dropdownValue === "済") {
                table[rowIndex].value.番号.value = "A B";
            } else {
                table[rowIndex].value.番号.value = "";
            }
        } else {
            // 全ての行を更新
            for (var i = 0; i < table.length; i++) {
                var dropdownValue = table[i].value.入力.value;
                if (dropdownValue === "未") {
                    table[i].value.番号.value = "A";
                } else if (dropdownValue === "済") {
                    table[i].value.番号.value = "A B";
                } else {
                    table[i].value.番号.value = "";
                }
            }
        }

        record.テーブル.value = table; // 更新したテーブルの配列をレコードに設定
        return record;
    }

    // レコードの表示および編集画面の読み込み時に実行
    kintone.events.on(['app.record.create.show', 'app.record.edit.show'], function(event) {
        var record = event.record;
        record = updateNumberField(record); // 初期表示時にテーブルの全行を更新
        return event;
    });

    // テーブル内の「入力」フィールドが変更された時に「番号」フィールドの値を更新
    kintone.events.on('app.record.create.change.テーブル', function(event) {
        var record = event.record;
        var table = record.テーブル.value;
        
        // 変更された行のインデックスを取得
        var rowIndex = event.change.rowIndex;

        // 行のインデックスがある場合にのみ更新
        if (rowIndex !== undefined) {
            record = updateNumberField(record, rowIndex);
            // テーブルの変更を即座に反映
            kintone.app.record.set({ record: record });
        }
        
        return event;
    });

})();

レコード編集を開く度にAやA Bに追記した部分が消えてしまう(AやA Bに書き代わってしまう)ということでしょうか。

if関数に追記した場合は無視する条件を追加すれば良いと思います。

                if (dropdownValue === "未") {
                    table[i].value.番号.value = "A";
                } else if (dropdownValue === "済") {
                    table[i].value.番号.value = "A B";
                } else {
                    table[i].value.番号.value = "";
                }

                if (dropdownValue === "未" && table[i].value.番号.value === "A") {
                    table[i].value.番号.value = "A";
                } else if (dropdownValue === "済" && table[i].value.番号.value === "A B") {
                    table[i].value.番号.value = "A B";
                } else if (!table[i].value.番号.value) {
                    table[i].value.番号.value = "";
                }

ご回答ありがとうございます。
質問文が明確でありませんでした。申し訳ありません。
編集画面で入力のドロップダウンを選択したときに、即座に番号フィールドを変化させたいのですが
変化をしてくれません。
どう書けばよいのでしょうか。
よろしくお願いいたします。

てんそ様
ありがとうございます。
即座に変化することが確認できました。
あとはドロップダウンの初期値に対しても反応するように、
だったり番号フィールドを編集したときにその値を保持するように、
だったりをやってみようと思います。
ありがとうございました

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