I have HTML Table in form with cascading dropdown based on parent value i need some validation in cascading dropdown how can i achieve that ?
HTML Code :
<html>
<head>
<script type="text/javascript" src="js/jquery-1.10.1.min.js"></script>
<script>
$(function() {
$(".tr_weekly").hide();
$(".tr_monthly").hide();
});
function schedule(value){
if(value == 2){
$(".tr_weekly").show();
$(".tr_monthly").hide();
return false;
}else if(value == 3){
$(".tr_weekly").hide();
$(".tr_monthly").show();
return false;
}else{
$(".tr_weekly").hide();
$(".tr_monthly").hide();
return false;
}
}
function validation (){
if($(".weekly").exists()){
var weekly_schedular= $( "#weekly option:selected" ).text();
alert("Weekly Dropdown enable with value "+weekly_schedular);
}
if($(".monthly").exists()){
var monthly_schedular= $( "#monthly option:selected" ).text();
alert("Monthly Dropdown enable with value "+monthly_schedular);
}
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" onsubmit="return validation()" >
<table>
<tr>
<td>Schdule By </td>
<td>
<select id="duration" class="selectionBox" onchange="schedule(this.value);" name="duration">
<option value="">select</option>
<option value="1">Daily</option>
<option value="2">Weekly</option>
<option value="3">Monthly</option>
</select>
</td>
</tr>
<tr class='tr_weekly'>
<td>Weekly</td>
<td>
<select id="weekly" name="day" class ='weekly'>
<option value="">select</option>
<option value="1">Monday</option>
<option value="2">Tuesday</option>
<option value="3">Wednesday</option>
<option value="4">Thursday</option>
<option value="5">Friday</option>
<option value="6">Saturday</option>
<option value="7">Sunday</option>
</select>
</td>
</tr>
<tr class='tr_monthly'>
<td>Monthly</td>
<td>
<select id="monthly" name="day" class ='monthly'>
<option value="">select</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
</select>
</td>
</tr>
</table>
</form>
</body>
</html>
Based on Schedule dropdown value Another select dropdown(Weekly/Monthly) hide/show its working but my question is like below
Question :
If Cascading dropdown(Monthly/Weekly) is show than and than only need to execute validation on that dropdown like must need to select any value
Try the following code. Fiddle
$(document).ready(function() {
$(".tr_weekly").hide();
$(".tr_monthly").hide();
$('#duration').change(function() {
var value = $('#duration').val();
if (value == 2) {
$(".tr_weekly").show();
$(".tr_monthly").hide();
return false;
} else if (value == 3) {
$(".tr_weekly").hide();
$(".tr_monthly").show();
return false;
} else {
$(".tr_weekly").hide();
$(".tr_monthly").hide();
}
});
});
Update: For form validation validate when you click the submit button.
$('#submit').click(function(){
var value = $('#duration').val();
var month = $('#monthly').val();
if(value == 3 && month == ""){
alert("Please select Monthly value");
}
});
try this:
function validation (){
if($(".tr_weekly").is(':visible')){
var weekly_schedular= $( "#weekly option:selected" ).text();
alert("Weekly Dropdown enable with value "+weekly_schedular);
if (weekly_schedular == "select") {
return false; //if false not working, try event.preventDefault();
}
}
if($(".tr_monthly").is(':visible')){
var monthly_schedular= $( "#monthly option:selected" ).text();
alert("Monthly Dropdown enable with value "+monthly_schedular);
if (monthly_schedular == "select") {
return false;
}
}
retutn true;
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.