jQuery无法使用.val('')清除特定输入

时间:2013-01-22 09:38:01

标签: jquery forms input clear

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

http://jsfiddle.net/eKWyY/

这是我的JS:

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

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

大须

6 个答案:

答案 0 :(得分:5)

单击“重置”按钮,条目将重置为默认值。并且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

答案 1 :(得分:4)

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

尝试查看以下内容。

How to execute code after html form reset with jquery?

答案 2 :(得分:3)

.click()函数后调用默认的JavaScript 重置,将输入重置为默认值asf

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

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

或者将<input>的类型更改为"button",该功能不会在您的功能之后执行默认的重置功能。但是,如果您想模仿重置,则可能需要做一些额外的工作。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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

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

答案 5 :(得分:0)

尝试下面的代码吧。

DEMO

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

使用attr