javascript - How to Show Final Result separately in a Main Textbox Value -
i have booking flight form. takes count of travellers . created 3 textboxes take travellers counts. works problem want show each count of each category of travel in textbox separately. example when user add adult adult count add textbox or when child added user can see result in 1 text box. code reuturns total value. how can change code ? here snippet :
$(function() { $(".button-click a").on("click", function() { var $button = $(this); var oldvalue = $button.closest("ul").prev().val(); if ($button.text() == "+") { var newval = parseint(oldvalue) +1; } else { // don't allow decrementing below 0 if (oldvalue > 0) { var newval = parseint(oldvalue - 1); } else { newval = 0; } } $button.closest("ul").prev().val(newval); //calculate total travellers traveller textbox. var total_value = 0; //loop through traveller textboxes $(".cat_textbox").each(function(){ //make addition of travellers 3 textboxes total_value += parseint($(this).val()); }); //assign total traveller number main textbox $(".main").val(total_value); }) }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <label> count all1 traveller(s) <input type="text" name="no_travellers" class="main" value="1 adult + 2 child + 1 infant" placeholder="" /> </label> <br/><br/> <label> adults <input type="text" class="cat_textbox" id="cat_custom_410672" name="cat_custom_410672" maxlength="4000" value="0" /> <ul class="button-group button-click"> <li><a href="#" class="small button secondary"><i class="fa fa-plus"><span class="hide">+</span></i></a></li> <li><a href="#" class="small button secondary"><i class="fa fa-minus"><span class="hide">-</span></i></a></li> </ul> </label> <label> children <input type="text" class="cat_textbox" id="cat_custom_410672" name="cat_custom_410672" maxlength="4000" value="0" /> <ul class="button-group button-click"> <li><a href="#" class="small button secondary"><i class="fa fa-plus"><span class="hide">+</span></i></a></li> <li><a href="#" class="small button secondary"><i class="fa fa-minus"><span class="hide">-</span></i></a></li> </ul> </label> <label> infants <input type="text" class="cat_textbox" id="cat_custom_410672" name="cat_custom_410672" maxlength="4000" value="0" /> <ul class="button-group button-click"> <li><a href="#" class="small button secondary"><i class="fa fa-plus"><span class="hide">+</span></i></a></li> <li><a href="#" class="small button secondary"><i class="fa fa-minus"><span class="hide">-</span></i></a></li> </ul> </label>
is looking for? shortened code bit. wrapped label texts in span select them.
edit: string in total input field dynamic because uses string in label tags.
edit2: added default value.
here working fiddle:
$(function() { $(".button-click a").on("click", function() { var button = $(this); var oldval = parseint(button.closest("ul").prev().val()); var newval = (button.text() == "+") ? oldval+1: (oldval > 0) ? oldval-1 : 0; var total_value = ""; button.closest("ul").prev().val(newval); $(".cat_textbox").each(function(){ var cat = $(this).prev('span').text(); total_value += cat + ": " + $(this).val() + ", "; }); total_value = total_value.substring(0, total_value.length - 2); $(".main").val(total_value); }) }); .main{ width:200px; } <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <label> count all1 traveller(s) <input type="text" name="no_travellers" class="main" value="adults: 1" placeholder="" /> </label> <br/><br/> <label> <span>adults</span> <input type="text" class="cat_textbox" id="cat_custom_410672" name="cat_custom_410672" maxlength="4000" value="1" /> <ul class="button-group button-click"> <li><a href="#" class="small button secondary"><i class="fa fa-plus"><span class="hide">+</span></i></a></li> <li><a href="#" class="small button secondary"><i class="fa fa-minus"><span class="hide">-</span></i></a></li> </ul> </label> <label> <span>children</span> <input type="text" class="cat_textbox" id="cat_custom_410672" name="cat_custom_410672" maxlength="4000" value="0" /> <ul class="button-group button-click"> <li><a href="#" class="small button secondary"><i class="fa fa-plus"><span class="hide">+</span></i></a></li> <li><a href="#" class="small button secondary"><i class="fa fa-minus"><span class="hide">-</span></i></a></li> </ul> </label> <label> <span>infants</span> <input type="text" class="cat_textbox" id="cat_custom_410672" name="cat_custom_410672" maxlength="4000" value="0" /> <ul class="button-group button-click"> <li><a href="#" class="small button secondary"><i class="fa fa-plus"><span class="hide">+</span></i></a></li> <li><a href="#" class="small button secondary"><i class="fa fa-minus"><span class="hide">-</span></i></a></li> </ul> </label>
Comments
Post a Comment