2013-03-21 124 views
1

我有2选择。 如果用户提交没有下拉选择的表单,则会在DIV上显示一条消息。 当用户选择值时,有一种方法可以隐藏div(消失?)?当做选择时隐藏DIV

SCRIPT:

$(document).ready(function() { 
$("#go").click(function() { 

if (document.getElementById('sel').selectedIndex == 0) 
$("#msg").html("Please select 1"); 


if (document.getElementById('sel2').selectedIndex == 0) 
$("#msg2").html("Please select 2"); 

}); 
}); 

FORM:

<form id="form1"> 
<div id="msg"></div>     
<select id="sel"> 
<option value="">-- select --</option> 
<option value="valor1">Valor 1</option> 
<option value="valor2">Valor 2</option> 
</select> 

<div id="msg2"></div> 
<select id="sel2"> 
<option value="">-- select --</option> 
<option value="valor1">Valor 1</option> 
<option value="valor2">Valor 2</option> 
</select> 

<input type="button" id="go" value="Go" /> 
</form> 

回答

1
$("#go").click(function() { 

if ($('#sel').val() == '') 
    $("#msg").text("Please select 1"); 


if ($('#sel2').val() == '') 
$("#msg2").text("Please select 2"); 

}); 
$('#sel').change(function(){$('#msg').hide()}) 
$('#sel2').change(function(){$('#msg2').hide()}) 

和工作的jsfiddle:http://jsfiddle.net/RmYbH/2/

+0

非常感谢Glen的回复, – user2123738 2013-03-21 03:10:23

+0

很高兴帮助你 – 2013-03-21 03:16:04

1

隐藏一个div,最好的方法是使用CSS属性显示,它设置为none。在jQuery中,您可以使用hide方法执行此操作,也可以通过css方法手动执行此操作。

$('#msg').hide(); 
$('#msg2').css('display','none'); 
+0

对不起,我想我错过了,你需要帮助侦听change事件的一部分。 – OhmzTech 2013-03-21 03:13:14

2

你可以做什么它利用jQuery中的change事件。这使您可以观察特定元素(如select元素)的更改。我做了一个fiddle for you。示例代码可以在这里看到:

$("#go").click(function() { 
    if (document.getElementById('sel').selectedIndex == 0) $("#msg").html("Please select 1"); 
    if (document.getElementById('sel2').selectedIndex == 0) $("#msg2").html("Please select 2"); 
}); 

$('select').change(function() { 
    if (document.getElementById('sel').selectedIndex != 0) $("#msg").fadeOut(); 
    if (document.getElementById('sel2').selectedIndex != 0) $("#msg2").fadeOut(); 
}); 

这应该是一个很好的起点。希望这可以帮助!

+0

djthoms,谢谢你的回复...不幸的是,你不能接受2个答案。 – user2123738 2013-03-21 03:10:40