根据DropDown Change事件显示隐藏控件

时间:2013-05-22 06:30:11

标签: c# jquery html asp.net

我们有一个库存页面,我们需要填充70列的值,即70 diff类型的控件。

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

示例:

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

尝试使用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;
            }
        }

1 个答案:

答案 0 :(得分:0)

您可以将JQuery用于此目的。

在Jquery中,为此目的使用hide()show()slideToggle()函数。

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

但是你可以看看下面的链接:

<强> 1。的slideToggle():

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

<强> 2。 hide():

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

第3。 show():

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

希望它有所帮助。