在选择更改时使用JQuery选择文件后清除文件输入字段

时间:2012-05-12 18:27:52

标签: jquery html forms

使用名为filestyle的Jquery插件:http://www.appelsiini.net/projects/filestyle。我有一个id为adtype的选择框。如果所选选项的值为7,则会禁用ID为“adfile”的文件输入。

当用户选择了文件时,问题就出现了。我找不到清除文件输入然后禁用它的方法。 $( '#adfile')VAL( '')。不起作用。

JQUERY

$(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 个答案:

答案 0 :(得分:6)

我用过 $('#adfile').val('');$('#adfile').attr('disabled', 'disabled');

DEMO

注意:filestyle插件会从文件输入元素中删除id,name属性,并将file添加为类。我正在参考表单访问此元素。

希望这有帮助

答案 1 :(得分:1)

$(":file").filestyle('clear');

答案 2 :(得分: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>

答案 3 :(得分:0)

这对我有用。

$("#Elementid").val(null);