0

我们有一个库存页面,我们需要填写 70 列的值,即 70 种不同类型的控件。

但客户希望根据特定下拉类型选择输入必填列,并且他也不想查看非必填控件。他还想要一个页面来映射哪个列对于哪个类型是强制性的

例子:

对于 学生学院是必填字段,而公司是非必填字段,客户希望单独查看大学文本框,而不是员工学院和公司的公司文本框两者都是强制性的,因此客户希望同时查看文本框。

尝试对少数控件使用 jQuery,性能很好,但对于 70 个控件,性能很差。有没有其他方法可以有效地做到这一点。

我的页面中有 70 个输入控件和 70 个标签,所有控件的可见性都必须基于单个下拉更改事件进行更改。

jQuery函数;

function GetControlVisiblityByAssetID(assetID) {
            var service = getAbsolutePath() + "/Services/CMDBServices.asmx/GetControlVisiblityByAssetID"
            $.ajax({
                type: "POST",
                url: service,
                data: "{'assetId' : '" + assetID + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) {
                    var reference = (typeof response.d) == 'string' ? eval('(' + response.d + ')') : response.d;
                    for (var j = 0; j < reference.length; j++) {
                        ControlName[j] = reference[j].ControlName;
                        IsVisible[j] = reference[j].IsVisible;
                        ControlType[j] = reference[j].ControlType;
                        if (IsVisible[j]) {
                            $("\"" + GetSelectorType(ControlType[j]) + "\"[id$=" + ControlName[j] + "]").show();
                        }
                        else {
                            $("\"" + GetSelectorType(ControlType[j]) + "\"[id$=" + ControlName[j] + "]").hide();
                        }
                    }
                }
            });
        }

function GetSelectorType(ControlType) {
            switch (ControlType) {
                case 'TextBox':
                    return "input";
                    break;
                case 'DropDown':
                    return "select";
                    break;
                case 'lable':
                    return;
                    break;
            }
        }
4

1 回答 1

0

您可以JQuery用于此目的。

在 Jquery 中使用hide(), show()orslideToggle()函数来达到这个目的。

因为,你没有特定的代码,我不能在这里写完整的代码。

但供您参考可以查看以下链接:

1.滑动切换():

http://api.jquery.com/slideToggle/

2. 隐藏():

http://api.jquery.com/hide/

3. 显示():

http://api.jquery.com/show/

希望它有帮助。

于 2013-05-22T06:34:33.797 回答