javascript初心者ですが
いつも参考にさせていただいております。
『レコードに値をセットする』のサンプルコード
var record = kintone.app.record.get();
record[‘record’][‘文字列1行’][‘value’] = ‘書き換えた文字列’;
kintone.app.record.set(record);
文字列1行に『A』という値が入っているとして
フィールドの値を書き換えるのではなく、『B』を書き加えて
『A、B』とするには
どのようなコードがよろしいのでしょうか?
よろしくおねがいします。
鈴木 圭様
cstapの落合です。
JavaScriptでの文字列の連結には「+」を使います。
上記の場合でしたら、
var hoge = record[‘record’][‘文字列1行’][‘value’];
record[‘record’][‘文字列1行’][‘value’] = hoge + ‘、B’;
こんな感じで文字列を連結できます。
以上、参考になりますでしょうか?
落合様
回答ありがとうございます。
教えて頂いたとおりでできました。
ありがとうございました。
解決したようで良かったです。
また何かありましたら、ご質問ください!
落合様
続けての質問ですみません。
複数チェックボックスの場合では
どのようなコードがよろしいのでしょうか?
例えば、チェックボックスが
“<フィールドコード>”: {
“value”: [
“A”,
“B”,
“C”,
“D”
]
}
このような場合で
Aがすでにチェックされている状態で
BまたはCのチェックを追加で入れる場合には
どのようにすればよいのでしょうか?
鈴木様
record[‘record’][‘チェックボックス’][‘value’] = [“A”, “B”];
こんな感じです。
ちょうどここにもチェックボックスの場合の値が見れますので、参考にしてください。
落合様
アドバイスありがとうございます。
色々と勉強になりました。
もともとやりたかったことは
グラフ分析用にプロセス管理のステータス推移を記録したく、
ステータスの変更に伴いチェックボックスへ自動チェックが
入るように設計しました。
最終的にpushでできるようになりました。
いろいろご指導ありがとうございます。
以下はその完成したコードです。
※初心者なので不具合は多いかもしれません・・・。
(function () {
“use strict”;
// プロセス管理アクション実行時
kintone.events.on([“app.record.detail.process.proceed”], function(event){
var record = event.record;
var nStatus = event.nextStatus.value;
var a = “A”;
var b = “B”;
var c = “C”;
var d = “D”;
var cbAry = record[‘ステータス推移’][‘value’]
// ステータスに応じてチェックボックスに追加
switch(nStatus){
case “A”:
cbAry.push(a);
break;
case “B”:
cbAry.push(b);
break;
case “C”:
cbAry.push(c);
break;
case “D”:
cbAry.push(d);
break;
}
return event;
});
})();
鈴木様
やりたいことが実現できたようで良かったです!
パッと見で気になったところは、cbAry = [“A”, “B”]の時にnStatusが"A"ならcbAry = [“A”, “B”, “A”]になってしまうことですが、仕様上選択済みの値が入ることがなければ問題ないかと思います。
落合様
特に設定はしていないんですが
重複になるとエラーが出るようになってました。
結果オーライということでしょうか・・・。
なかなかkintoneを思う通りコントロールしきれなくて
いつも苦戦していますが、コミュニティの方々に
いつも助けられてばかりで感謝感謝です。
また質問するかもしれませんが、
今後ともよろしくお願い致します。
ありがとうございました!!
微力ながらご協力いたします!
また何かありましたら、ご質問ください。