イベントを使用して選択コントロールの変更を監視し、editrulesrequired
のオプションの値を変更することをお勧めします。
たとえば、デモでは、「ship_via」列の選択コントロールで「focusout」イベントを使用して、列「note」のeditrulesrequired
のオプションを変更しました。ここで提案したバグ修正をコードで使用したため、「focusout」イベントを使用しました。代わりに他のイベントを使用することもできますが、別のブラウザーでテストする必要があります。
デモで使用したコードは
{name: 'ship_via', index: 'ship_via', width: 105, align: 'center', editable: true,
formatter: 'select', edittype: 'select', editoptions: {
value: 'FE:FedEx;TN:TNT;IN:Intim',
defaultValue: 'IN',
dataEvents: [
{
type: 'focusout',
fn: function (e) {
$grid.jqGrid('setColProp', 'note', {
editrules: {required: ($(e.target).val() !== "IN")}
});
}
}
]
},
stype: 'select', searchoptions: {
sopt: ['eq', 'ne'],
value: ':Any;FE:FedEx;TN:TNT;IN:IN'
} },
{ name: 'note', index: 'note', width: 60, sortable: false, editable: true,
edittype: 'textarea' }