首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Jquery重置ascx用户控件

使用Jquery重置ascx用户控件
EN

Stack Overflow用户
提问于 2013-08-08 09:00:16
回答 1查看 1.4K关注 0票数 0

我正在工作的asp.net网络应用程序,在那里我们有搜索页面。在这个搜索页面上,我们有大约37个搜索过滤器控制。所有的输入控件都是不同的类型,比如文本框、Dropdownlist列表(从页面加载的数据库中填充)、单选按钮和复选框列表。在页面的右侧,我们在Jquery和Ajax的帮助下显示了搜索结果。现在,我为左侧搜索过滤器创建一个.ascx用户控件,并将所有搜索过滤器控件放在该用户控件中。这个页面对我来说很好,唯一的问题是我在页面上有重置搜索按钮(即在我的ascx控件中),并且我必须清除该按钮上的所有搜索过滤器控件值,单击事件(请记住,我不想重新加载我的页面,所以我使用Jquery)。对于is的解决方案,我必须为所有37个控件编写代码,将其值重置为默认值。在没有刷新页面的情况下,从Jquery重置或重新加载我的用户控件有什么窍门或想法吗?

注意:请记住,由于某些原因,我不能将更新面板放在aspx页面上。

请告诉我任何想法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-08 09:20:10

您可以使用输入类型选择器的最小代码,即。$(':input')将选择所有文本框字段。如果您想清除当前窗体上的所有控件,我已经编写了一个小插件,您可以使用它:

代码语言:javascript
复制
$.fn.clearForm = function () {
    return this.each(function () {
        var type = this.type, tag = this.tagName.toLowerCase();
        if (tag == 'form' || tag == 'div') 
            return $(':input', this).clearForm();
        if (type == 'text' || type == 'password' || tag == 'textarea')
            this.value = '';
        else if (type == 'checkbox' || type == 'radio')
            this.checked = false;
        else if (tag == 'select')
            this.selectedIndex = -1;
    });
};

用法:

代码语言:javascript
复制
$('#divId').clearForm();
$('.div_class').clearForm();
$('form').clearForm();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18121912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档