1

http://www.appelsiini.net/projects/filestyleから filestyle と呼ばれる Jquery プラグインを使用します。adtype の ID を持つ選択ボックスがあります。選択したオプションの値が 7 の場合、「adfile」の ID を持つファイル入力が無効になります。

ユーザーがすでにファイルを選択している場合に問題が発生します。ファイル入力をクリアしてから無効にする方法が見つかりません。$('#adfile').val(''); 動作しません。

Jクエリ

$(function(){
  $('#adtype').change(function(){
    if($('#adtype option:selected').val()==="7"){
      $('#adfile').val('');
      $("#adfile").prop('disabled', true);
    }else{
      $("#adfile").prop('disabled', false);
    }
  });
});

HTML

<form id="someform" action="somepage" method="post">
  <select name="selectstuff" id="adtype">
    <option value="1">one</option>
    <option value="5">five</option>
    <option value="7">seven</option>
  </select>

  <input type="file" id="adfile" value="" />

  <input type="submit" value="submit" />
</form>
4

4 に答える 4

6

私は使用 $('#adfile').val('');し、$('#adfile').attr('disabled', 'disabled');

デモ

注: filestyle プラグインはid,name、ファイル入力要素から属性を削除しfile、クラスとして追加します。フォームを参照してこの要素にアクセスしています。

お役に立てれば

于 2012-05-12T18:45:59.603 に答える
1
$(":file").filestyle('clear');
于 2016-11-09T17:17:38.107 に答える
0

これは私にとってはうまくいきました。

$("#Elementid").val(null);
于 2015-01-08T12:56:34.683 に答える
0
<html>
<head>

<script type="text/javascript">
$(document).ready(function(){
    $('#adtype').change(function(){
        if($('#adtype option:selected').val()==="7"){
            $('#adfile').remove();
            $('#file_div').html('<input type="file" id="adfile" value="" />')
            $("#adfile").prop('disabled', true);
        }else{
            $("#adfile").prop('disabled', false);
        }
    });
});

</script>
</head>

<body>
    <div id="signup">
        <form id="someform" action="somepage" method="post">
       <select name="selectstuff" id="adtype">
<option value="1">one</option>
<option value="5">five</option>
<option value="7">seven</option>
</select>
        <div id="file_div">
         <input type="file" id="adfile" value="" />

        </div>

        <input type="submit" value="submit" />
        </form>

    </div>

</body>

</html>
于 2012-05-12T18:55:42.463 に答える