• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 603
  • Last Modified:

jQuery: Test if all select values are empty

How can I test if all select values are empty?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Demo</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript">

$(window).unload(function () {
 $(':input').val('');
});

$(document).ready(function() {
 $('input[type=text]').val('');
 $('#f').change(function() {
  if ($('#f select[value!=""]').is('select')  ) {
   alert( 'The value of all selects are empty' );
  }
  else alert( 'At least one select has a value that is not empty' );
 });
});

</script>

</head>
<body>

<form id="f" action="/" method="get">

<select name="s1">
<option value="">---</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

<select name="s2">
<option value="">---</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

<select name="s3">
<option value="">---</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>

</form>

</body>
</html>

Open in new window

0
hankknight
Asked:
hankknight
1 Solution
 
David S.Commented:
Try this:
$(document).ready(function() {
 $('input[type=text]').val('');
 $('#f').change(function() {
  var selected = $('#f select option:selected');
  if (selected.length === selected.filter('[value=""]').length ) {
   alert( 'The value of all selects are empty' );
  }
  else alert( 'At least one select has a value that is not empty' );
 });
});

Open in new window

0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now