如何使用jQuery清空输入值?

Vit*_*Kos 63 html javascript jquery jquery-ui

我正在尝试使用图像进行模态对话,您可以在其中选择多个图像.我需要从输入中获取值然后将其清空,但我无法清空输入.我试过.val('').val(null),但也为我工作.

这是完整的代码:

$("#hdselect").click(function(){
        $(".modal").html("");

        $.post('mediaservice.php',{hd:'ok',images:$("#hdimages").val()},function(data){
            $(".modal").append(data);
        });
        $(".modal").dialog({
            'modal':true,
            'title':"Click the image to select",
            'width':960,
            'height':600,
            'resizable':false,
            'show': {effect: 'drop', direction: "up"},
            'buttons': {"Ok": function() {  
                    var hd=Array();
                    var hdval=$("#hdimages").val();
                    $("#hdimages").attr('value',' ');
                    $("input[name='hd[]']:checked").each(function(){
                        hd.push($(this).val());
                    });
                    if(hdval!=''){
                        hdval=hdval+","+hd;
                    }else{
                        hdval=hd;
                    }                        
                    $("#hdimages").val(hdval);
                    var images=$("#hdimages").val();
                    $.post('mediaservice.php',{getHd:images},function(data){
                        $("#imgthumbBase").append(data);
                    });
                    $(this).dialog("close");
                }
            }
        });
    });
Run Code Online (Sandbox Code Playgroud)

这个想法是用户单击一个按钮,打开一个模式对话框,其中包含多个图像和复选框.此时我需要从输入中获取值,然后清除它.

Dar*_*ren 103

要使值为空,您可以执行以下操作:

 $("#element").val('');
Run Code Online (Sandbox Code Playgroud)

要获得所选值,您可以执行以下操作:

var value = $("#element").val();
Run Code Online (Sandbox Code Playgroud)

#element您希望选择的元素的id 在哪里.

  • @ user1032531 - 问题是如何使用jQuery清空输入值而不是如何为元素分配"null"值.在您投票给我答案之前,请正确阅读问题. (4认同)
  • 也许user1032531正在您的第一个短语上*要使值成为空,您可以做... *也许更清楚地写*要为空值,您可以做... * (2认同)

小智 64

你可以尝试:

$('input.class').removeAttr('value');
$('#inputID').removeAttr('value');
Run Code Online (Sandbox Code Playgroud)

  • 从HTML5和2017开始 - Chrome至少不再增加价值attr.此代码不再有效. (7认同)
  • 等等 - 这是怎样的答案?我刚尝试过,它对我不起作用.你确定这段代码是正确的吗? (3认同)

Arj*_*uli 24

更好的方法是:

$("#element").val(null);
Run Code Online (Sandbox Code Playgroud)

  • 从 HTML5 和 2017 开始 - Chrome 至少不再添加值 attr。所以这是唯一可以在 Chrome 中运行的。没有测试过其他浏览器。 (2认同)

小智 16

使用jquery清空文本框的常用方法是:

$('#txtInput').val('');
Run Code Online (Sandbox Code Playgroud)

如果上面的代码不起作用,请检查您是否能够获得输入元素.

console.log($('#txtInput')); // should return element in the console.
Run Code Online (Sandbox Code Playgroud)

如果仍然面临同样的问题,请发布您的代码.


CIR*_*CLE 8

另一种方式是:

$('#element').attr('value', '');
Run Code Online (Sandbox Code Playgroud)