78

複数の画像を選択できる画像付きのモーダル ダイアログを作成しようとしています。入力から値を取得してから空にする必要がありますが、入力を空にすることはできません。.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");
                }
            }
        });
    });

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

4

7 に答える 7

144

値を空にするには、次のようにします。

 $("#element").val('');

選択した値を取得するには、次のようにします。

var value = $("#element").val();

#element選択したい要素のIDはどこにありますか。

于 2012-05-25T13:01:50.003 に答える
71

あなたは試すことができます:

$('input.class').removeAttr('value');
$('#inputID').removeAttr('value');
于 2012-05-25T13:02:39.187 に答える
31

より良い方法は次のとおりです。

$("#element").val(null);
于 2015-07-21T01:24:48.480 に答える
16

jqueryを使用してテキストボックスを空にする通常の方法は次のとおりです。

$('#txtInput').val('');

上記のコードが機能しない場合は、入力要素を取得できることを確認してください。

console.log($('#txtInput')); // should return element in the console.

それでも同じ問題が発生する場合は、コードを投稿してください。

于 2012-05-25T13:07:07.643 に答える
2
$('.reset').on('click',function(){
           $('#upload input, #upload select').each(
                function(index){  
                    var input = $(this);
                    if(input.attr('type')=='text'){
                        document.getElementById(input.attr('id')).value = null;
                    }else if(input.attr('type')=='checkbox'){
                        document.getElementById(input.attr('id')).checked = false;
                    }else if(input.attr('type')=='radio'){
                        document.getElementById(input.attr('id')).checked = false;
                    }else{
                        document.getElementById(input.attr('id')).value = '';
                        //alert('Type: ' + input.attr('type') + ' -Name: ' + input.attr('name') + ' -Value: ' + input.val());
                    }
                }
            );
        });
于 2015-12-19T17:23:47.457 に答える
1

私にとって、これはこれを解決する最良の方法でした:

$('yourElementName').val(null);

于 2021-06-29T12:11:47.833 に答える