【问题标题】:jQuery can't clear specific input with .val('')jQuery 无法使用 .val('') 清除特定输入
【发布时间】:2013-01-22 09:38:01
【问题描述】:

我一直在这里寻找错误,因为单击 HTML 中的重置按钮时无法清除输入 #keywordsearch。但是,我找不到任何东西 - 你能看到问题吗?

http://jsfiddle.net/eKWyY/

这是我的 JS:

$('#dirreset').click(function() {
            $('#fatform option').each(function(index) {
                $(this).removeAttr("selected");
            });
            $('#keywordsearch').val('');
        });

感谢您的帮助,这让我有点生气!

奥苏

【问题讨论】:

  • 您的代码有效...您的初始值“asf”永远不会被清除,但是如果您正在考虑的话。如果您从输入 value="asf" 中删除您的值,您将有一个完全空的输入。 :)

标签: jquery forms input


【解决方案1】:

单击重置按钮,条目将重置为默认值。而asf是你的默认值,所以它不会清楚,所以改变

<input type="reset" name="osu_directory_search_reset" value="Reset" id="dirreset"> 

<input type="button" name="osu_directory_search_reset" value="Reset" id="dirreset"> 

演示:jsFiddle

【讨论】:

    【解决方案2】:

    点击“重置”按钮后,您的点击事件会执行,但之后它会重置表单。那个时候“asf”会回到输入字段,因为它是初始值。

    尝试关注以下内容。

    How to execute code after html form reset with jquery?

    【讨论】:

    • +1 你的答案中链接的问题有一个很好的例子来说明如何自定义重置
    【解决方案3】:

    默认 JavaScript reset 在您的 .click() 函数之后被调用,这会将输入重置为默认值 asf

    如果您想避免执行默认重置功能,请使用 jQuery 的 event.preventDefault() 或更多,只需在函数末尾添加 return false;。例如

    $('#dirreset').click(function() {
        $('#keywordsearch').val('');
        return false;
    });
    

    或者将&lt;input&gt; 的类型更改为"button",这将不会在您的函数之后执行默认的reset 功能。但是,如果您想模仿 reset,您可能需要做一些额外的工作。

    【讨论】:

    • 感谢@andyb(以及每个人的答案),第一个选项清除了所有有用的信息。在这种情况下,将输入更改为按钮有效
    【解决方案4】:

    如果要保留默认值“asf”,则必须将输入类型reset更改为button

    【讨论】:

      【解决方案5】:

      由于您在清除 value 属性时将值指定为 asf,您将仅获得默认值。

      如果您想向用户显示有关输入的一点提示,您可以使用输入类型的占位符属性。

      示例 http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_input_placeholder

      【讨论】:

        【解决方案6】:

        试试下面的代码它的工作原理。

        DEMO

        $(document).ready(function()
        {
            $('#dirreset').click(function()
            {
                $('#fatform option').each(function(index)
                {
                     $(this).removeAttr("selected");
                });
                $('#keywordsearch').attr('value','');
            });
        });

        使用attr

        【讨论】:

          猜你喜欢
          • 2020-12-27
          • 2016-12-23
          • 1970-01-01
          • 2019-11-14
          • 2012-05-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多