在JQuery中访问SelectList / DropDownList对象

时间:2014-02-23 20:11:02

标签: c# javascript jquery asp.net-mvc-4 razor

我有一个ASP MVC4项目的“交易”输入页面,用户可以在信用卡或借记卡交易的其他内容中输入日期,金额和税金。从DropDownList中选择税率和类型,例如

- [EXE] 0%...免除

- [VAI] 20%......标准

- [VAO] 20%......标准

方括号中的三字母代码表示其类型,即是否可以索取。 DropDownList在控制器中填充了税对象:

            IEnumerable<Tax> taxes = db.Taxes.ToList()
                                .Select(item => new Tax
                                     {
                                         TaxId = item.TaxId,
                                         TaxMultiplier = item.TaxMultiplier,
                                         TaxDescription = "[" + item.TaxType +"] "+ item.TaxPercentAmount + "%...." + item.TaxDescription
                                     }).AsQueryable();

        ViewBag.Taxes = new SelectList(taxes,"TaxId", "TaxDescription");

在视图的html部分我有

@Html.DropDownListFor(model => model.TaxID, (SelectList)ViewBag.Taxes)

最后还有一个'AutoCalculate'标志,当用户检查标志时,使用JQuery我将Tax Amount字段设置为灰色且不可编辑,并希望使用所选税项的'TaxMultiplier'值来计算增值税金额。加上。以前我在ViewBag的SelectList中添加了“TaxMultiplier”代替“TaxId”(之前我为每个税率添加了不同的税种,这是至关重要的)

            $('#AutoTax').live('change', function () {
            if ($(this).is(':checked')) {
                var total = 0;
                var amount = document.getElementById('Amount').value;
                var tax = document.getElementById('TaxId').value;         

                total = amount * tax;
                total = total.toFixed(2);

                $('#VatAmt').val(total);

            } else {
                $('#VatAmt').val(0.0);
            }
    });

我对JQuery / JavaScript真的不太强大,我想知道是否有人可以帮助我更改上面的JavaScript以访问未存储在值(TaxID)或描述(TaxDescription)中的SelectList对象的属性?另一种选择是只有一个单独的DropDownList来选择3-Letter类型的代码,尽管我想尽可能减少不必要的附加字段。

0 个答案:

没有答案