ラジオボタンを選択すると、数値が入力される方法

ラジオボタンで選択した数値をグラフに利用したいと考えています。

現状そのままでは、ラジオボタンで選択した数値は利用できないので、別フィールドに選択した数値を代入して活用できないかと考えています。

ここを参考にさせて頂き、

ラジオボタンA → 数値1

に代入は出来たのですが、

ラジオボタンA → 数値1

ラジオボタンB → 数値2

といった複数個になると、できなくなってしまいます。

基礎的なことかも分かりませんが、作り方を教えて頂けると助かります。

よろしくお願いします。

Hikaru Ishiharaさん

ラジオボタンに複数の選択肢があり(例:100、200、300)、

「ラジオボタンの選択によって数値フィールドの値を変化させたい」

ということでしょうか?

 

であれば簡単なJavaScriptカスタマイズで実現できると思います。

(function() {
    ‘use strict’;

    // とりあえずレコード追加イベントのみです
    var events = [
        ‘app.record.create.show’,
        ‘app.record.create.change.ラジオボタン’
    ];
    kintone.events.on(events, function(event) {

        // ラジオボタンの値を取得して数値に変換する
        var radio_val = Number(event.record.ラジオボタン.value);

        // 数値フィールドへ挿入する
        event.record.数値.value = radio_val;
        return event;
    });
})();

ありがとうございます。

説明下手ですいません。仰った事で間違いありません。

もう一つ質問になり恐縮ですが、

ラジオボタン1は数値1へ

ラジオボタン2は数値2へ

といった同じような行動を行いたい場合、以下の様に記せばよろしいのでしょうか?

コードが長くなってしまう為、分かりやすくしたいと思いますが、

もっと簡略化出来るのでしょうか?

 

(function() {

‘use strict’;

 

var events1 = [

‘app.record.create.show’,

‘app.record.create.change.a1’,

‘app.record.edit.show’,

‘app.record.edit.change.a1’

];

kintone.events.on(events1, function(event) {

// ラジオボタン_a1の値を取得して数値に変換する

var radio_a1 = Number(event.record.a1.value);

// 数値1へ挿入する

event.record.数値1.value = radio_a1;

return event;

});

var events2 = [

‘app.record.create.show’,

‘app.record.create.change.a2’,

‘app.record.edit.show’,

‘app.record.edit.change.a2’

];

kintone.events.on(events2, function(event) {

// ラジオボタン_a2の値を取得して数値に変換する

var radio_a2 = Number(event.record.a2.value);

// 数値2へ挿入する

event.record.数値2.value = radio_a2;

return event;

});

})();

そうですね。イベント内の処理はまとめられるとは思いますが、あまり変化しないかもですね。

 

他の方法としては、自分で先のコメントで記述していて恐縮ですがshowやchangeイベントを使わず、

submitイベントに限定するという方法もあるかと思います。

 

submitイベントの場合、レコード保存ボタンを押したときのみ処理が走るようになるので、

レコード入力時は数値フィールドの値は変化しません。

ただ、そもそも数値自体はグラフで利用したいとのことなので、

レコード入力中にリアルタイムで数値が変化することはそれほど重要ではないかなとも思いました。

数値フィールドはグループフィールドの中へ格納して簡単には見えないようにすればレコード入力中も気にならないと思います。

 

(function()  {

    ‘use strict’;

    var events = [

        ‘app.record.create.submit’,

        ‘app.record.edit.submit’

    ];

    kintone.events.on(events, function(event)  {

        // ラジオボタンの値を取得して数値に変換する

        var radio_a1 = Number(event.record.a1.value);

        var radio_a2 = Number(event.record.a2.value);

 

        // 数値へ挿入する

        event.record.数値1.value = radio_a1;

        event.record.数値2.value = radio_a2;

 

        return event;

    });

})();

 

返信が大変遅くなってしまい申し訳ございません。

こちらの手違いで返事を書けていないことに気付くのが遅くなってしまいました。

おかげさまで問題は解決できました。ありがとうございます。

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