kintoneの時刻の設定を15分単位で表示したい

過去の投稿を参考に以下のコードで設定しているのですが、うまくいきません。

フィールドコードは1.2と設定したいのですが、先頭に数字を設定できないとエラーになるため、a,bと入力しております。

どなたかご教示頂けますと幸いです。

宜しくお願い致します。

 (function() { 
"use strict";

fb.events.form.created = [function (state) {
    var fields = [a,b]; //フィールドの番号(0以上の整数)
    fields.forEach(function(field){
      state.fields[field].pickerOptions = {start: '00:00', end: '23:30', step: '00:15'};
      state.fields[field].type = 'time-select';
    });

    return state;
  }];
})();

徳山さん

こんにちは。

表題にkintoneとございますが、FormBridgeかと思いますので、そちらの方法を回答します。

 

まず、「フィールドコード」と「フィールドの番号」は別物とお考えください。

 

フィールドコード…各フィールドに自由に設定できるコード
フィールドの番号…フォーム画面における上からの配置順

そのため、上記であれば
var fields = [0, 1]
配置順を上から数えて0番目、1番目に時刻フィールドがあれば適用されます。
※0番から数えます。

もし時刻フィールドが沢山ある場合は、この配置順をすべて数えるのは面倒ですので
以下のようにフィールドコードを配列にして処理することもできます。

const FIELD_CODES = ['開始時刻', '終了時刻'];

const timeFields = state.fields.filter(function(field) {
    return FIELD_CODES.indexOf(field.code) != -1;
});

timeFields.forEach(function(field) {
    field.pickerOptions = { start: '00:00', end: '23:30', step: '00:15' };
    field.type = 'time-select';
});

koichi様

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

申し訳ございません、勘違いしておりました。フォームブリッジではなく、kintoneで実装したいと考えております。

添付しております画像のようなアプリで「開始時刻」と「終了時刻」の時刻の設定を15分単位で表示したいです。

 

 

徳山さん

タイトル通り、kintoneでしたか。失礼しました。

 

先の通り、FormBridgeでは可能ですが

kintoneでは、時刻表示を15分単位にするライブラリなどが用意されておりません。

現仕様では、キーボード入力するしかないですね。

 

もしくは、外部のタイムピッカー系のライブラリを使い

15分単位のタイムピッカーを自作するしかないと思います。

koichi様

ご回答有難うございます。

現在の仕様ではFormBridgeでないと実現できないのですね。

お調べ頂き有難うございました。タイムピッカーの自作という案も検討してみます。

この度には親切に教えてくださり有難うございました。

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