1. ホーム
  2. javascript

jQueryで入力値を空にするには?

2023-08-02 04:28:24

質問

画像を使ったモーダルダイアログで、複数の画像を選択できるものを作ろうとしています。入力から値を取得し、それを空にする必要がありますが、入力を空にすることができません。試してみたところ .val('').val(null) の2種類がありますが、どちらもうまくいきませんでした。

以下は完全なコードです。

$("#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");
                }
            }
        });
    });

ユーザがボタンをクリックすると、複数の画像とチェックボックスのあるモーダルダイアログが開くというものです。このとき、入力から値を取得して、それをクリアする必要があります。

どのように解決するのですか?

試してみるとよいでしょう。

$('input.class').removeAttr('value');
$('#inputID').removeAttr('value');