【问题标题】:How to clear all values in a container control如何清除容器控件中的所有值
【发布时间】:2012-01-09 02:20:46
【问题描述】:

如何使用type=texttype=select 清除所有输入(将选定索引设置为0)?

我认为使用 jQuery 一定很容易,我不想为此回发到服务器。

这就是我所拥有的:

function clearValues(containerControlID) {
    $('#' + containerControlID + ' :input').each(function (index) {
        $(this).val("");
    });
}  

但我找到了所有输入(图像、复选框等)。我只想清除文本区域、文本输入和选择。

那么我如何使用 jQuery 找到这些 inputs 并清除它们的值或将 selects 的选定索引设置为 0?

提前谢谢你。

【问题讨论】:

  • 不应有多个具有相同 ID 的元素。 ID 意味着在一页上是唯一的。有了给定的 ID,您实际上并不需要更多的选择器。否则使用filter 方法或尝试已经发布的答案。 -- api.jquery.com/filter
  • @Smamatti:我不确定我是否理解你的论点。我没有多个具有相同 ID 的元素。但我只有容器控件(div 或 table)的 ID。我不想使用控件的 ID,因为它们是不可预测的,例如ctl00_MainContent_TabContainer1_TabDeliveryControl_SVCSDeliveryControl_RMAInfo1_NotificationConfig1_FV_Trigger_TxtActiveUntil.
  • @Smamatti:我有容器 ID,因为它是 ClientIdModestatic,是唯一的一个。

标签: javascript jquery asp.net html jquery-selectors


【解决方案1】:

试试这个

function clearValues(containerControlID) {
    $('#' + containerControlID + ' :input:text').val(''); //To set all text to empty
    $('#' + containerControlID + ' textarea').val('');  
    $('#' + containerControlID + ' select').each(function () {
        this.selectedIndex = 0; //To set all select elements to first option
    });
}  

【讨论】:

  • 好的,非常感谢。但是 textarea 的选择器没有按预期工作。它还选择容器外的文本区域。我已编辑您的答案以添加 containerControlID
  • 再次编辑您的答案以添加我的最终解决方案。再次感谢你。顺便说一句,为什么我在input 选择器中需要: 而不是在textarea 选择器中?
  • 因为 textarea 不是输入类型元素,它有自己的标签 textarea 所以 jQuery 通过标签名称找到它,其中 text 元素是输入类型元素,: 表示 jQuery 选择元素按类型。
猜你喜欢
  • 2011-02-21
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
  • 2010-12-14
  • 1970-01-01
相关资源
最近更新 更多