如何使用jQuery使某些内容消失?
我有以下下拉列表:如何使用jQuery使某些内容消失?,jquery,Jquery,我有以下下拉列表: <select name="chooseLanguage"> <option>Choose One</option> <option value="java">Java</option> <option value="php">PHP</option> <option value="c++">C++</option> </selec
<select name="chooseLanguage">
<option>Choose One</option>
<option value="java">Java</option>
<option value="php">PHP</option>
<option value="c++">C++</option>
</select>
选一个
JAVA
PHP
C++
如果在此下拉列表中选择了除默认的“选择一个”之外的任何内容(当然是预选的),则我希望此输入字段消失:
<input type="file" name="uploadFile" />
$("div.product").slideUp('slow').addClass("removed");
如何使用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>
$(函数(){
$(“#选择语言”).change(函数(){
if($(this.val()=''){
$(“#上载文件”).hide();
}否则{
$(“#上传文件”).show();
}
});
});
选一个
JAVA
PHP
C++
然后您可以使用$('#uploadFile').hide()
正如您所建议的那样,为了达到相反的效果,..给输入一个
id
,比如id=“myupload”
然后,简单地说:
$('#myupload').fadeOut('slow');
你可以这样做:
$('select[name="chooseLanguage"]').change(function(){
if ($(this).val())
{
$('input[name="uploadFile"]').fadeOut('slow');
}
});
这里有另一种方法。 示例:查找CSS类为“product”的所有
元素,并设置它们的动画以使其慢慢消失:
<input type="file" name="uploadFile" />
$("div.product").slideUp('slow').addClass("removed");
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>
选一个
JAVA
PHP
C++
其他答案几乎正确,但缺少一两个小细节。这有望“开箱即用”
只要给“chooseLanguage”选择框一个“chooseLanguage”的ID,给上传输入一个“uploadFile”的ID即可。+1对于漂亮的标题,David Copperfield应该是一个SO用户:)我的示例成功了。要使代码正常工作,请将
$(this.val()='')更改为($(this.attr)(“selectedIndex”)>0)
。那么它的工作原理和我下面的代码一样好。太好了,非常感谢Gert它现在可以工作了。你为什么把Wireblue标记为正确答案?他的解决方案不起作用。@Gert哦,天哪,对不起,Gert,我想是他写的修复评论。我现在觉得自己很愚蠢:(+1-除了检查$(this).val()
不会有什么好处,因为如果没有值设置,它会返回选项中包含的文本(无论如何,对于某些浏览器)。我还没有选择任何正确的答案,因为没有一个答案对我有效,包括你的。请查看我在问题中的编辑,我已经发布了我的全部代码。你能运行它并查看它为什么不起作用吗?Ron道歉。因为“选择一个”选项缺少空白值属性,IF语句无法正常工作。对您的答案进行了投票。Gert G。感谢Wireblue。非常感谢。:)