誰かが興味を持っている場合に備えて、初期条件のコードを追加しました。このコードを Country datainit に配置しました。
setTimeout(function ()
{
var required = $(elem).val() === 'US';
grid.jqGrid('setColProp', 'PostalCode', { editrules: { required: required} });
$('#PostalCode').siblings('.mystar').html(required ? '*' : ' ');
}, 100);
(JQGrid の新しいリリースでは setTimeout が不要になることは理解していますが、アップグレードに問題があります。)
formedit 列の elmprefix を動的に設定する必要があります。米国の場合、郵便番号が必要です。必要な要素は機能していますが、elmprefix が表示されません。
dataEvents: [
{
type: "change",
fn: function (e) {
changeStateSelect($(e.target).val(), e.target);
var isUS = $(e.target).val() == 'US';
grid.jqGrid('setColProp', 'PostalCode', { editrules: { required: isUS },
formoptions: { elmprefix: (isUS ? "<font color='red'>*</font>" : " ")}
});
}
},
{
type: "keyup",
fn: function (e) { $(e.target).trigger('change'); }
}
]
これを達成する方法はありますか?