0

金額フィールドの金額単位 (g、mg、l など) を選択する DevExpress ComboBox があります。

@Html.DevExpress().ComboBoxFor(     model => model.PackageAmountUnit,
                                    settings =>{settings.Width= 60;}
                                    ).BindList(args => this.Model.Units, args => this.Model.Units).GetHtml()

このページには他に 2 つの金額フィールドがありますが、これらのフィールドの単位は、最初の金額フィールドで選択した単位と同じである必要があります。したがって、DevExpress ComboBox の選択された単位値を複製し、それを単なるテキスト フィールドである他の 2 つの単位フィールドに複製します (したがって、ユーザー入力はできません)。

これが例です

JavaScript を介して選択した値を取得する方法はありますか、またはこれを行う別の方法はありますか?

ありがとうございました

4

1 に答える 1

0

ComboBox の ValueChanged イベントのハンドラーを追加することにより、Javascript でこれを行うことができます。

<script type="text/javascript">
function OnComboChanged(s,e){
    var comboValue = PackageAmountUnit.GetValue();
    AmountField.SetValue(comboValue);
}
</script>


@Html.DevExpress().ComboBoxFor(     model => model.PackageAmountUnit,
                                    settings =>{
                                         settings.Width= 60;
                                         settings.Properties.ClientSideEvents.ValueChanged = "OnComboChanged";
                                    }
                                    ).BindList(args => this.Model.Units, args => this.Model.Units).GetHtml()

DevExpress からのこの質問への回答も役立つ場合があります" https://www.devexpress.com/Support/Center/Quest/Details/Q349035

このドキュメントはhttps://documentation.devexpress.com/#AspNet/DevExpressWebScriptsASPxClientEditBase_GetValuetopicにも役立つ場合があります。

于 2015-01-23T18:58:46.140 に答える