テーブル内の特定の行の値を他フィールドへコピー

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

タイトルの件について、サブテーブルに文字列とチェックボックス(有、無)があり、

チェックボックスに「有」がついている行内の文字列をコピーボタンを押下して

他文字列へコピーしたいと考えております。

現在下記コードで設定していますが、

(function() {
    "use strict";
    var events = ['app.record.create.show','app.record.edit.show'];
    kintone.events.on(events, function(event) {
        button.onclick = function () {
            var rec = kintone.app.record.get();
            var record = rec.record;
            record['文字列']['value'] = record['テーブル'].value[0].value['テーブル文字列'].value;
            kintone.app.record.set(rec);
        };
        return event;
    });
})();

[0]で設定しているので、1行目がコピーされます。

これを「有」のチェックをついている行内の文字列のみをコピーする方法について

ご教授いただいたければ幸いでございます。

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

テーブル内に複数の「有」が起き得ないのであれば、シンプルに行の分だけループして、同行内に「有」があればセットするという感じで良いかと思います。

(function () {
"use strict";
var events = ['app.record.create.show', 'app.record.edit.show'];
kintone.events.on(events, function (event) {
button.onclick = function () {
var rec = kintone.app.record.get();
var record = rec.record;
//record['文字列']['value'] = record['テーブル'].value[0].value['テーブル文字列'].value;
var table = record['テーブル'].value;
table.forEach(function(row){
if(row.value['テーブルチェックボックス'].value.indexOf('有') > -1){
record['文字列'].value = row.value['テーブル文字列'].value;
}
});
kintone.app.record.set(rec);
};
return event;
});
})();

 

複数の「有」が有り得るようであれば、例えば区切り文字で連結しつつ1つのフィールドのセットしてしまう次のような方法もありかと思います。

(function () {
"use strict";
var events = ['app.record.create.show', 'app.record.edit.show'];
kintone.events.on(events, function (event) {
button.onclick = function () {
var rec = kintone.app.record.get();
var record = rec.record;
var table = record['テーブル'].value;
var contents = [];
table.forEach(function(row){
if(row.value['テーブルチェックボックス'].value.indexOf('有') > -1){
contents.push(row.value['テーブル文字列'].value);
}
});
record['文字列'].value = contents.join(', '); // 区切り文字「, 」で結合
kintone.app.record.set(rec);
};
return event;
});
})();

 

Ryu Yamashita様

早速のご回答ありがとうございます。

ご教授いただいたように設定し、table内の値のコピーができました。

また、複数バージョンのコードも合わせてご教授いただきありがとうございます。

複数ある場合もあるので、すごく助かりました。

今後ともよろしくお願いいたします。