第7回 カスタマイズビュー・・・の講義を元に、オリジナルのビューを作っていますが、チェックボックスのデータをどうやって引っ張り込めば良いのかわかりません。
例えばフィールドコードが”category”だとすると、各チェックボックスはcategory[0],category[1],…で指示すると考えれば良いですか?
第7回の講座を元に、recordオブジェクトの内容をカスタマイズビューに反映する場合、
record[i]→record に代入して、
if(record.category[0].checked){k1 =“デザイン”}
else if(record.category[0].checked){k2 =“設計”}
var kate= k1 + k2
cell4.innerHTML =“kate”
という感じ??
あるいはfor構文で
for(j=0; j<record.category.lengh; j++){
if(record.category[j].checked){
record.category[j].value +=
record.category[j].value + “/” ;}
どちらも上手く行かないのですが。
林光邦 さん
レコードの取得(GET)のレスポンスの例を見ると、各項目タイプの構造が分かります。
チェックボックスは、value が配列構造になっています。
設定値が、「デザイン」、「設計」の場合は、下記のようになっていると思います。
配列の値をまとめて取り出したい場合は、join を使います。
"チェックボックス": {
"type": "CHECK_BOX",
"value": [
"sample1",
"sample2"
]
},
"category": {
"type": "CHECK_BOX",
"value": [
"デザイン",
"設計"
]
},
var kate = record.category.value.join(',');
また、イベント処理で console.log(event); を実行すると、
ブラウザデバッグツールの console タブで、構造を確認できます。
この辺は、動かない?そんな時はデバッグをしてみよう!入門編 を見てください。
最初は面倒でも、JavaScript 入門など一通り見ておくと、開発効率が全く違いますよ。
ありがとうございます。
初心者で理解に時間がかかるので、色々試してから顛末ご報告いたします。
感謝。
JavaScript入門書は何冊か読んだのですが、チェックボックスの部分の記載がマチマチで混乱しておりました。
まだ配列構造のあたりが良く理解できていないのだと思います。
ありがとうございます、うまく行きました。
初心者なので、確認なのですがつまりこういう理解でよろしいでしょうか?
キントーンでレコードのデータを取得(GET?)すると、
”record”の変数内にこんな感じのJSON形式のデータが入っている訳ですね?
“フィールドコード名”: //フォームの要素のフィールドコード
{“type”:“SINGLE_LINE_TEXT”, //フォームの要素の形式
“value”:“ABC”} , //フォームの要素の値
// ※以下要素分のデータ
今回の質問は形式がチェックボックスのデータを拾うことが目的でした。
選択肢の数分、値(value)にデータが入っていて、どうすれば良いのかが分かりませんでした。
“フィールドコード名”: //フォームの要素のフィールドコード
{“type”:“CHECK_BOX”, //フォームの要素の形式
“value”:“ABC”,“DEF”,“GHI”} , //フォームの要素の値(複数)
ご指摘のとおり、繋いで表示すれば問題ありませんでした。
record.category.value.join(',');
ありがとうございます。
選択肢のうち、個別の項目を抜き出すにはどうしたら?とチラっと思いましたが、
多分そういう用途はないかな、とも思います。
お礼申し上げます。
ちょっと勘違いがあるようです。
チェックボックスのvalue値は、配列となっており、[] で囲まれています。
"フィールドコード名": //フォームの要素のフィールドコード
{"type":"CHECK_BOX", //フォームの要素の形式
"value":["ABC","DEF","GHI"]} , //フォームの要素の値(複数)
なお、配列から個別に値をとりだす場合は、配列の位置を指定します。
record["フィールドコード名"].value[0] // "ABC"
record["フィールドコード名"].value[1] // "DEF"
record["フィールドコード名"].value[2] // "GHI"