新規投稿
フォローする

文字列複数行に値が入ったら、ラジオボタンの表示、非表示選択を自動的に選択したい

お世話になります。

調べてみましたがどうしても探せなかったので

投稿させていただきます。

 

文字列複数行に値が入ったら

ラジオボタンの選択肢を変えたいのですが

文字が入力されたら

ラジオボタンの選択肢 設定値:表示

何も入っていなければ 設定値:非表示

にしたいです。

 

また、

文字列複数行の初期値で文字を入れた場合、

追記がされると表示

されないと非表示

とかはできたりするものでしょうか?

 

応用ができないかといろいろ探したのですが

無理そうなので、もしお分かりになればご教授いただけると

幸いです。

一応、作っては見たものの、理想と動きが違く。

 

現在ルックアップでマスターからコメントを引っ張って

文字列複数行にコピーされるので、

イメージ的には入った瞬間に

ラジオボタンが非表示から表示に切り替わる、

消したら非表示になる。

そのあと保存。

がイメージしているものです。

これだと、保存したら切り替わることになっている感じがします。

最悪これでも良いのですが、良い方法があれば教えてください。

 

 

(function() {
"use strict";
var events = ['app.record.edit.submit','app.record.create.submit','app.record.index.edit.submit',
'app.record.create.change.ラジオボタン','app.record.edit.ラジオボタン',
'app.record.create.change.文字列__複数行__4','app.record.edit.文字列__複数行__4'];
kintone.events.on(events, function(event) {
var record = event.record;
//要素取得
var process = record['ラジオボタン']['value'];
var endday = record['文字列__複数行__4']['value'];
if (record['文字列__複数行__4']['value']) { // 値が設定されている場合
process = "表示";
}else {
process = "";
}
record['ラジオボタン']['value'] = process;

return event;

});
})();

 

 

 

 

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

 

 

 

 

0

2件のコメント

Avatar
erika

Riorio様
初めまして。
下記リンク先を見て頂ければわかりますが、文字列(複数行)はchangeイベントに対応していません。
レコード編集イベント

対応策としてはルックアップでコメントとは別のフィールドを用意すればいいのではないでしょうか。
例えばchangeイベントに対応している文字列(1行)をルックアップ元と先に用意して、そこに値が入ったらラジオボタンの値を変えるみたいな。

あと、提示しているコードをみて以下が気になりました。
・”endday”を宣言したのにどこにもつかってない。
・値が入ってない場合の条件の”process”に"非表示"を代入していない。

erikaにより編集されました
0
Avatar
Riorio

erikaさん

ありがとうございます。

とりあえずあり物をくっつけてとやっていたため

endday宣言の部分がおかしかったのだと思います。

宣言を外して

process に 非表示を入れて

ということで完結になるのでしょうか?

複数行フィールドが顧客のマイページの表示、非表示のオンオフとなっていて

kintoneで従業員様が確認するときに

文字一列は見辛いっぽいので複数行が必要なんです。

今回、勉強になりました。

 

 

(function() {
"use strict";
var events = ['app.record.edit.submit','app.record.create.submit','app.record.index.edit.submit',
'app.record.create.change.ラジオボタン','app.record.edit.ラジオボタン',
'app.record.create.change.文字列__複数行__4','app.record.edit.文字列__複数行__4'];
kintone.events.on(events, function(event) {
var record = event.record;
//要素取得
var process = record['ラジオボタン']['value'];
if (record['文字列__複数行__4']['value']) { // 値が設定されている場合
process = "表示";
}else {
process = "非表示";
}
record['ラジオボタン']['value'] = process;

return event;

});
})();

 

本番にも実装し大丈夫なことを確認できました。

ありがとうございました!!

0
ログインしてコメントを残してください。