2012-05-12 34 views
1

使用名为filestyle的Jquery插件:http://www.appelsiini.net/projects/filestyle。我有一个id为adtype的选择框。如果所选选项的值为7,则会禁用id为'adfile'的文件输入。在选择变更后使用JQuery选择文件后清除文件输入字段

当用户已经选择了一个文件时,就会出现问题。我找不到一种方法来清除文件输入,然后禁用它。 $( '#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> 
+0

HTML表单的例子添加 – Patriotec

回答

6

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

DEMO

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

希望这有助于

+0

我接受你的答案,但它不会在我的网页上工作。我相信来自http://www.appelsiini.net/projects/filestyle的filestyle插件会干扰清除文件输入字段。如果我删除了filestyle插件,我可以清除该字段。谢谢。 – Patriotec

+0

你应该提到关于你的问题,你可以有一个更准确的答案 – Dhiraj

+0

更新我的答案与演示文件样式插件 – Dhiraj

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> 
+0

昨天我尝试了这种技术。不会工作。我只是将它填写到干扰其他JQuery的filestyle插件。感谢您的努力 – Patriotec

+0

我已经检查过在ie和所有其他browser.it工作正常,只需在此代码中添加jquery.js并进行测试即可。 –

0

这为我工作。

$("#Elementid").val(null); 
0
$(":file").filestyle('clear'); 
相关问题