清除具有特定类型属性的输入

时间:2011-10-25 09:28:06

标签: javascript jquery

这样:

$("#registrant input").val('');

将清除div <input>内的所有#registarnt

但是,我如何排除特定类型的输入? (如“提交”)

4 个答案:

答案 0 :(得分:3)

$('#registrant input[type!="submit"]').val('')

或更好

$('#registrant input[type="text"]').val('')

答案 1 :(得分:1)

您可以使用“attribute equals”选择器匹配type属性。例如:

$("#registrant input[type='text']").val('');

答案 2 :(得分:1)

这是一个完整的解决方案,如果该字段在模糊时仍为空,则将恢复原始值。这可以在整个网站范围内使用。

$(document).ready(function(){
    var clearInput = '';
    // on focus: store the original value, then clear it
    $('input[type="text"]').focus( function() {
        clearInput = $(this).val();
        $(this).val('');
    });
    // on blur: if the value is still empty, display the original value
    $('input[type="text"]').blur(function() {
        if($(this).val()=='') {
            $(this).val(clearInput);
        }
    });
});

如果您只想排除一种输入类型,可以更改以下行:

$('input[type="text"]').focus( function() { 
$('input[type="text"]').blur(function() { 

这样的事情:

$('input').not('input[type="submit"]').focus( function() { 
$('input').not('input[type="submit"]').blur(function() { 

答案 3 :(得分:0)

您可以使用这些选择器来过滤输入类型:

所以在你的情况下(你也想使用:not跳过提交):

$("#registrant input:not(:submit)").val('');

$("#registrant input").not(":submit").val('');

http://jsfiddle.net/K6WUu/