Reputation: 2754
I have a form with three dropdowns. What's the easiest way to ensure that at least one is set to "C"?
Something with $("#Statuses").each or $(".Droppie").each?
<div id="Statuses">
<table>
<tr>
<td>To Do</td>
<td>Status</td>
</tr>
<tr>
<td>Call</td>
<td>
<select id="Call" name="Call" class="Droppie">
<option value="A">Active</option>
<option value="B">Bounced</option>
<option value="C">Closed</option>
</select>
</td>
</tr>
<tr>
<td>Meet</td>
<td>
<select id="Meet" name="Meet" class="Droppie">
<option value="A">Active</option>
<option value="B">Bounced</option>
<option value="C">Closed</option>
</select>
</td>
</tr>
<tr>
<td>Followup</td>
<td>
<select id="Followup" name="Followup" class="Droppie">
<option value="A">Active</option>
<option value="B">Bounced</option>
<option value="C">Closed</option>
</select>
</td>
</tr>
</table>
<input type="button" name="Save" id="Save" value="Save" />
</div>
<script>
SaveCheck = function () {
-- jquery .each ?? --
{ alert("Sorry, at least one to-do must be closed."); }
$("#Save").click( SaveCheck );
</script>
Upvotes: 2
Views: 2719
Reputation: 21226
For the heck of it, here's a simpler version:
$('#Save').click(function() {
if($('.Droppie option[value="C"]:selected').length > 0) {
alert('successfull');
}
else {
alert("Sorry, at least one to-do must be closed.");
}
});
Upvotes: 3
Reputation: 4115
You should check every selected items of Droppie class each time Save button clicked.
$('#Save').click(function() {
if(SaveCheck()) {
alert('successful');
}
else {
alert("Sorry, at least one to-do must be closed.");
}
});
function SaveCheck() {
var flag = false;
$('.Droppie :selected').each(function() {
if($(this).val() == "C") {
flag = true;
return false;
}
});
return flag;
}
Upvotes: 6
Reputation: 2845
I think you can use this code
<div id="Statuses">
<table>
<tr>
<td>To Do</td>
<td>Status</td>
</tr>
<tr>
<td>Call</td>
<td>
<select id="Call" name="Call" id="Call" class="Droppie">
<option value="A">Active</option>
<option value="B">Bounced</option>
<option value="C">Closed</option>
</select>
</td>
</tr>
<tr>
<td>Meet</td>
<td>
<select id="Meet" name="Meet" id="Meet" class="Droppie" >
<option value="A">Active</option>
<option value="B">Bounced</option>
<option value="C">Closed</option>
</select >
</td>
</tr>
<tr>
<td>Followup</td>
<td>
<select id="Followup" name="Followup" id="Followup" class="Droppie" >
<option value="A">Active</option>
<option value="B">Bounced</option>
<option value="C">Closed</option>
</select >
</td>
</tr>
</table>
<input type="button" name="Save" id="Save" value="Save" onclick="return fnc()"/>
</div>
<script type="text/javascript">
function fnc()
{
call=document.getElementById("Call").value;
meet=document.getElementById("Meet").value;
followup=document.getElementById("Followup").value;
if(call!='C' && meet!='C' && followup!='C' )
{
alert("no c is selected");
return false;
}
}
</script>
Upvotes: 0
Reputation: 8476
var flag = false;
$('select.Droppie :selected').map(function() {
if(this.value == 'C'){
flag = true;
}
});
if(flag){
alert('contain C');
} else {
alert("Doesn't contain C");
}
Upvotes: 1