You can use the following method to remove error class apply on form elements.
$('#addNewForm').validate({
highlight: function(element) {
$(element).removeClass("error");
}
});
Do feel free to ask any questions that you may have concerns to web. No Compromise on Learning!
You can use the following method to remove error class apply on form elements.
$('#addNewForm').validate({
highlight: function(element) {
$(element).removeClass("error");
}
});
I would make a function that checks every selected value, and then enables all option
s, searches through the .staff_list
s for option
s in that array that are not currently selected, and disables them all.
Add that function as a listener to the wrapper
(with event delegation) and run it after more <select>
s are appended (to ensure the new options' values get properly disabled), and run it after <select>
s are deleted (so that if that <select>
had anything selected, its value is now enabled again in the other elements).
This ensures a correct re-calculation of disabled option
s whenever there's a change.
Note that because there are currently only 3 possible values (a
, b
, and c
), only three select
s can currently be changed - after that, every possible option (except the default) will be disabled.
var add_button = $(".add_sign");
var wrapper = $(".sign");
var max_fields = 6;
var x = 1;
add_button.click(function(e) {
if (x < max_fields) {
x++;
wrapper.append('<div class="input-group sign_user"><select class="staff_list" name="staff_id"><option value="">--Select staff--</option><option value="a">A</option><option value="b">B</option><option value="c">C</option></select><span class="input-group-btn delete_sign"><a href="#" class="btn btn-sm btn-danger">X</a></span></div>');
recalcDisabled();
} else {
alert('Maximum 5 Authorised Signatory only!');
}
});
//Delete staff_list
$(wrapper).on("click", ".delete_sign", function(e) {
e.preventDefault();
$(this).parent('div').remove();
recalcDisabled();
x--;
});
wrapper.on('change', 'select', recalcDisabled);
function recalcDisabled() {
const selectedValues = $('.staff_list')
.map((_, sel) => sel.value)
.get()
.filter(Boolean); // Filter out the empty string
$('.staff_list option').prop('disabled', false);
selectedValues.forEach(value => {
$(`.staff_list[value!="${value}"] option[value="${value}"]`)
.prop('disabled', true);
});
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="sign">
<button class="add_sign">Add New Field
<span style="font-size:16px; font-weight:bold;">+ </span> </button>
</div>
Credit: CertainPerformance (https://stackoverflow.com/users/9515207/certainperformance)
You need using custom round function for this. Because rounding to 0.49 is not standard way.
function rounder($num){
$fln= $num-floor($num);
if ($fln>0 and $fln<0.5) $fln=0.49;
else $fln=0.99;
return floor($num)+$fln;
}
echo rounder(5.24882);
source: https://stackoverflow.com/questions/47389399/round-number-up-to-49-or-99
If someone's interested, I'm using this function to add X business days to a date. The function takes in a timestamp and returns a timestamp. It's possible to specify the holidays via an array (if in the US, you can use usBankHolidays()
).
At the moment, it's assuming Saturday and Sunday are not business days but that can be changed easily.
Code:
function addBusinessDays($date, $days, $holidays = array()) {
$output = new DateTime();
$output->setTimestamp($date);
while ($days > 0) {
$weekDay = $output->format('N');
// Skip Saturday and Sunday
if ($weekDay == 6 || $weekDay == 7) {
$output = $output->add(new DateInterval('P1D'));
continue;
}
// Skip holidays
$strDate = $output->format('Y-m-d');
foreach ($holidays as $s) {
if ($s == $strDate) {
$output = $output->add(new DateInterval('P1D'));
continue 2;
}
}
$days--;
$output = $output->add(new DateInterval('P1D'));
}
return $output->getTimestamp();
}
function usBankHolidays($format = 'datesonly') {
$output = array(
array('2015-05-25', 'Memorial Day'),
array('2015-07-03', 'Independence Day'),
array('2015-09-07', 'Labor Day'),
array('2015-10-12', 'Columbus Day'),
array('2015-11-11', 'Veterans Day'),
array('2015-11-26', 'Thanksgiving Day'),
array('2015-12-25', 'Christmas Day'),
array('2016-01-01', 'New Year Day'),
array('2016-01-18', 'Martin Luther King Jr. Day'),
array('2016-02-15', 'Presidents Day (Washingtons Birthday)'),
array('2016-05-30', 'Memorial Day'),
array('2016-07-04', 'Independence Day'),
array('2016-09-05', 'Labor Day'),
array('2016-10-10', 'Columbus Day'),
array('2016-11-11', 'Veterans Day'),
array('2016-11-24', 'Thanksgiving Day'),
array('2016-12-25', 'Christmas Day'),
array('2017-01-02', 'New Year Day'),
array('2017-01-16', 'Martin Luther King Jr. Day'),
array('2017-02-20', 'Presidents Day (Washingtons Birthday)'),
array('2017-05-29', 'Memorial Day'),
array('2017-07-04', 'Independence Day'),
array('2017-09-04', 'Labor Day'),
array('2017-10-09', 'Columbus Day'),
array('2017-11-10', 'Veterans Day'),
array('2017-11-23', 'Thanksgiving Day'),
array('2017-12-25', 'Christmas Day'),
array('2018-01-01', 'New Year Day'),
array('2018-01-15', 'Martin Luther King Jr. Day'),
array('2018-02-19', 'Presidents Day (Washingtons Birthday)'),
array('2018-05-28', 'Memorial Day'),
array('2018-07-04', 'Independence Day'),
array('2018-09-03', 'Labor Day'),
array('2018-10-08', 'Columbus Day'),
array('2018-11-12', 'Veterans Day'),
array('2018-11-22', 'Thanksgiving Day'),
array('2018-12-25', 'Christmas Day'),
array('2019-01-01', 'New Year Day'),
array('2019-01-21', 'Martin Luther King Jr. Day'),
array('2019-02-18', 'Presidents Day (Washingtons Birthday)'),
array('2019-05-27', 'Memorial Day'),
array('2019-07-04', 'Independence Day'),
array('2019-09-02', 'Labor Day'),
array('2019-10-14', 'Columbus Day'),
array('2019-11-11', 'Veterans Day'),
array('2019-11-28', 'Thanksgiving Day'),
array('2019-12-25', 'Christmas Day'),
array('2020-01-01', 'New Year Day'),
array('2020-01-20', 'Martin Luther King Jr. Day'),
array('2020-02-17', 'Presidents Day (Washingtons Birthday)'),
array('2020-05-25', 'Memorial Day'),
array('2020-07-03', 'Independence Day'),
array('2020-09-07', 'Labor Day'),
array('2020-10-12', 'Columbus Day'),
array('2020-11-11', 'Veterans Day'),
array('2020-11-26', 'Thanksgiving Day'),
array('2020-12-25', 'Christmas Day '),
);
if ($format == 'datesonly') {
$temp = array();
foreach ($output as $item) {
$temp[] = $item[0];
}
$output = $temp;
}
return $output;
}
Usage:
$deliveryDate = addBusinessDays(time(), 7, usBankHolidays());
How to change the PHP version for subfolders or subdomains Setting a specific PHP version for a specific websites, subfolders or subdomain...