テーブル設定をする前までは下記のコードで組んでいましたがテーブル設定にしたところうまくいきません。
テーブル設定にしても同じように動作する方法を御教授お願い致します。
kintone.events.on([‘app.record.create.show’,
‘app.record.edit.show’,
‘app.record.index.edit.show’,
‘app.record.edit.change.A’,
‘app.record.create.change.A’,
‘app.record.index.edit.change.A’],
function(event) {
var record = event.record;
switch (record[‘A’][‘value’]){
case “B”:
record[‘E’][‘disabled’] = false;
record[‘F’][‘disabled’] = true;
break;
case “C”:
record[‘E’][‘disabled’] = false;
record[‘F’][‘disabled’] = true;
break;
case “D”:
record[‘E’][‘disabled’] = true;
record[‘F’][‘disabled’] = false;
break;
default:
record[‘E’][‘disabled’] = true;
record[‘F’][‘disabled’] = true;
break;
}
return event;
});
回答ありがとうございます。
組みなおしてみたのですがうまくいかないのですがなにか原因をご教授して頂けると助かります。
(function() {
“use strict”;
var events = [‘app.record.edit.show’,
‘app.record.create.change.A’,
‘app.record.edit.change.A’];
kintone.events.on(events, function (event) {
var record = event.record;
if(record[‘A’][‘value’] === “B”){
record.精算項目.value[1].value.C.disabled = true,
record.精算項目.value[1].value.B.disabled = false;
}else{
record.精算項目.value[1].value.C.disabled = false,
record.精算項目.value[1].value.B.disabled = true;
}
return event;
});
})();
宜しくお願い致します。
> record.精算項目.value[1].value.C.disabled = true,
ですと、サブテーブルの2行目のみにしか反映されません。(1からではなく0から)
全行で反映したいのであれば、if内を以下のように記述する必要があります。
for(var i in record.精算項目.value){
record.精算項目.value[i].value.C.disabled = true;
record.精算項目.value[i].value.B.disabled = false;
}
返答ありがとうございます。
自分が未熟なせいかやはりうまくいきません。
今現在下記のようにプログラムを組んでいるのですが気になる点などあればご教授して頂けると幸いです。
(function() {
“use strict”;
//振替のイベントを取得
var events = [‘app.record.create.show’,
‘app.record.edit.show’,
‘app.record.index.edit.show’,
‘app.record.edit.change.区分’,
‘app.record.create.change.区分’,
‘app.record.index.edit.change.区分’,
‘app.record.create.change.Table’,
‘app.record.edit.change.Table’];
kintone.events.on(events, function (event) {
var record = event.record;
//区間の入力値チェック
if(record[‘区間’][‘value’] === “往復”){
//区間が"往復"を選択している場合
/* record[‘片道’][‘disabled’] = true,
record[‘往復’][‘disabled’] = false;*/
for(var i in record.input_record.value){
record.精算項目.value[i].value.片道.disabled = true;
record.精算項目.value[i].value.往復.disabled = false;
}
}else{
//区間が"往路/復路"を選択している場合
/* record[‘片道’][‘disabled’] = false,
record[‘往復’][‘disabled’] = true;*/
for(var n in record.input_record.value){
record.精算項目.value[n].value.片道.disabled = false;
record.精算項目.value[n].value.往復.disabled = true;
}
}
return event;
});
})();
聞いてばかりではなく自分で理解していかないと上達しませんよね。
いろいろとありがとう御座いました。
とても助かりました。