我有以下内容:
<select name="chooseLanguage">
<option>Choose One</option>
<option value="java">Java</option>
<option value="php">PHP</option>
<option value="c++">C++</option>
</select>
如果从此下拉列表中选择ANYTHING,而不是默认的“选择一个”,当然这是预先选择的,那么我希望此输入字段消失:
<input type="file" name="uploadFile" />
如何使用jQuery(如果可能的话,使用漂亮的淡入淡出效果)?
修改
我的整个代码,由于某种原因,没有一个答案对我有用。
<script type="text/javascript" src="jquery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function(){
$("#chooseLanguage").change(function(){
if ($(this).val() == '') {
$("#uploadFile").hide();
} else {
$("#uploadFile").show();
}
});
});
</script>
<form action="" method="post">
<select name="chooseLanguage" id="chooseLanguage">
<option>Choose One</option>
<option value="java">Java</option>
<option value="php">PHP</option>
<option value="c++">C++</option>
</select>
<input type="file" name="uploadFile" id="uploadFile" />
</form>
答案 0 :(得分:3)
<input id="uploadFile" type="file" name="uploadFile" />
然后您可以使用$('#uploadFile').hide()
答案 1 :(得分:2)
输入id
,如id="myupload"
。
然后,简单地说:
$('#myupload').fadeOut('slow');
答案 2 :(得分:1)
你可以这样做:
$('select[name="chooseLanguage"]').change(function(){
if ($(this).val())
{
$('input[name="uploadFile"]').fadeOut('slow');
}
});
答案 3 :(得分:1)
<强>的jQuery 强>
$(document).ready(function(){
$("#chooselanguage").change(function(){
if ($("#chooselanguage").attr("selectedIndex")>0) {
$("#fileupload").fadeOut();
} else {
$("#fileupload").fadeIn();
}
});
});
<强> HTML 强>
<select id="chooselanguage" name="chooseLanguage">
<option>Choose One</option>
<option value="java">Java</option>
<option value="php">PHP</option>
<option value="c++">C++</option>
</select>
答案 4 :(得分:0)
这是另一种方法。
示例:查找CSS类为“product”的所有<div>
元素,并将它们设置为慢慢消失:
$("div.product").slideUp('slow').addClass("removed");
答案 5 :(得分:0)
其他答案几乎是正确的,但缺少一两个细节。希望这可以“开箱即用”。
$(function(){
$("#chooseLanguage").change(function(){
if ($(this).val() == '') {
$("#uploadFile").hide();
} else {
$("#uploadFile").show();
}
});
});
只需给“chooseLanguage”选择框选择“chooseLanguage”ID,上传输入ID为“uploadFile”。