Preciso de uma ajuda com um checkbox simples, mas para mim está sendo o maior desafio pensar em como desenvolvê-lo:
Tenho três botões radio: Manhã (09:00h/12:00h) - Tarde (12:00h/17:00) - Noite (17:00/++...)
e um checkbox: Urgente
Queria uma função que verificasse o nosso horário e ao clicar no período escolhido fosse marcado urgente.
Por exemplo:
- Sistema de solicitação de atendimento.
- Trabalho com um suporte em horário comercial, meu horário é das 9 às 18h.
- Quando alguém selecionar o horário "Manhã" que gostaria de ser atendido e ainda fosse manhã (9h - 12h) o checkbox "Urgente" fosse marcado.
- Também assim com o horário "Tarde".
- Quando alguém selecionar o horário "Noite" sempre marcar "Urgente". (isso eu até que consegui)
- Quando alguém selecionar para a data de "Hoje" nos critérios acima, fosse marcado "Urgente". (Porém, acredito que se o código verificar o horário atual com o horário definido para os radios dando igualdade na data não irá complicar tanto)
- Se fosse selecionada uma data futura (dia seguinte) o checkbox Urgente não fosse marcado.
Eu sei que é bem complicado da forma que estou pedindo, mas se já estou correndo atrás de ajuda é porque não sou tão bom assim como vocês. (Tento pensar simples mas não consigo haha)
Segue uma cópia do meu código, com algumas tentativas com o código comentado:
Uso datepick para o calendário...
Javascript
</style>
<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script> <!--necessario-->
<script type="text/javascript" src="js/jquery.mask.min.js"></script> <!--necessario-->
<script type="text/javascript" src="js/jquery.charcounter.js"></script> <!--necessario-->
<script type="text/javascript" src="js/jquery-ui-1.8.17.custom.min.js"></script> <!--necessario-->
<script type="text/javascript">
jQuery(function($){
$('#txtTelefone').mask("(99)9999-99999").focusout(function(){
var phone, element;
element = $(this);
element.unmask();
phone = element.val().replace(/\D/g, '');
if(phone.length > 10) {
element.mask("(99)99999-9999");
} else {
element.mask("(99)9999-99999");
}
}).trigger('focusout'); //MASCARA DE TELEFONE
$("#date").mask("99/99/9999",{placeholder:" "}); //MASCARA DE DATA
});
function d(id){ //getelementbyid
return document.getElementById(id);
}
function n(name){ //getelementbytagname
return document.getElementsByTagName(name);
}
function myFunction()
{
var e = new Date();
var x = document.getElementById("date");
x.innerHTML=e.getDay();
}
function countChar_Servico(val){ //PARA LIMITAR CARACTERES - necessário jquery para funcionar */
var len = val.value.length;
if (len >= 500) {
val.value = val.value.substring(0, 500);
$('#problema').text(0 + " caractere restante");
}else {
$('#charNum_Servico').text(500 - len + " caracteres restantes");
}
};
function valida(){
var nome = document.frm.txtNome.value;
var email = document.querySelector("#txtEmail").value;
var telefone = document.querySelector("#txtTelefone").value;
var mail = new RegExp(/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i);
var tel = new RegExp (/^\(11\)9?[2-9]{1}[0-9]{3}-[0-9]{4}|\([1-9][0-9]\)[2-9]{1}[0-9]{3}-[0-9]{4}$/); //- para telefones
if(nome==""){
alert("Informe seu Nome!");
document.frm.txtNome.focus();
}
else if(email==""){
alert("Informe seu e-mail!");
document.frm.txtEmail.focus();
return false;
}
else if(telefone==""){
alert("Informe seu Telefone!");
document.frm.txtTelefone.focus();
return false;
}
if(mail.test(email)){
}else{
alert("Email Inválido!");
document.frm.txtEmail.focus();
return false;
}
if(tel.test(telefone)){
alert("Sua solicitação foi enviada para agendamento.\n \nTicket:<?echo $ticket['ticket']+1; ?>");
document.frm.submit();
return true;
}else{
alert("Telefone Inválido!");
return false;
document.frm.txtTelefone.focus();
}
}
function verifica_feriado(){
var ano;
ano = $("#date").val();
ano = ano.substr(6);
PrintDatas(ano);
$('input[name=chkferiado]').attr('checked', false); //Desabilita
if (DataCarnaval == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
if (DataPascoa == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
if (DataCorpusChristi == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
if (DataAnoNovo == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
if (DataAnivSAO == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
if (DataTiradentes == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
if (DataTrabalhador == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
if (DataRevolucao == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
if (DataIndependencia == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
if (DataAparecida == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
if (DataTodosOsSantos == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
if (DataProcramlacao == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
if (DataConNegra == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
if (DataNatal == $("#date").val()){
$('input[name=chkferiado]').attr('checked', true);
}
}
$("#date").change(function(){
var date = $("#date").datepicker('getDate');
var dayOfWeek = date.getUTCDay();
$('input[name=urgente]').attr('checked', false);
if (dayOfWeek === 0) {
$('input[name=urgente]').attr('checked', true);
}
if (dayOfWeek === 6) {
$('input[name=urgente]').attr('checked', true);
}
verifica_feriado();
});
$.datepicker.regional['pt-BR'] = {
closeText: 'Fechar',
prevText: '<Anterior',
nextText: 'Próximo>',
currentText: 'Hoje',
monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho',
'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun',
'Jul','Ago','Set','Out','Nov','Dez'],
dayNames: ['Domingo','Segunda-feira','Terça-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sabado'],
dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
weekHeader: 'Sm',
dateFormat: 'dd/mm/yy',
firstDay: 0,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''};
$.datepicker.setDefaults($.datepicker.regional['pt-BR']);
$(function() { //calendario
$('#date').datepick();
$('#inlineDatepicker').datepick({onSelect: showDate});
});
function showDate(date) {
alert('The date chosen is ' + date);
}
//função checar se for noite como urgente
function checarur(){
document.frm.urgente.checked = true;
}
/* if(document.getElementByID("horarion").checked == true);
{
document.getElementByID("urgente").checked = true
}
}
function dchecarur(){
if(document.getElementByID("horarion").checked == false);
{
document.getElementByID("urgente").checked = false
}}*/
//função carregar checarur
/*window.onload=function(){
dchecarur();
}*/
</script>
Pergunta
Stalin Nunes
Olá pessoal tudo bem?
Preciso de uma ajuda com um checkbox simples, mas para mim está sendo o maior desafio pensar em como desenvolvê-lo:
Tenho três botões radio: Manhã (09:00h/12:00h) - Tarde (12:00h/17:00) - Noite (17:00/++...)
e um checkbox: Urgente
Queria uma função que verificasse o nosso horário e ao clicar no período escolhido fosse marcado urgente.
Por exemplo:
- Sistema de solicitação de atendimento.
- Trabalho com um suporte em horário comercial, meu horário é das 9 às 18h.
- Quando alguém selecionar o horário "Manhã" que gostaria de ser atendido e ainda fosse manhã (9h - 12h) o checkbox "Urgente" fosse marcado.
- Também assim com o horário "Tarde".
- Quando alguém selecionar o horário "Noite" sempre marcar "Urgente". (isso eu até que consegui)
- Quando alguém selecionar para a data de "Hoje" nos critérios acima, fosse marcado "Urgente". (Porém, acredito que se o código verificar o horário atual com o horário definido para os radios dando igualdade na data não irá complicar tanto)
- Se fosse selecionada uma data futura (dia seguinte) o checkbox Urgente não fosse marcado.
Eu sei que é bem complicado da forma que estou pedindo, mas se já estou correndo atrás de ajuda é porque não sou tão bom assim como vocês. (Tento pensar simples mas não consigo haha)
Segue uma cópia do meu código, com algumas tentativas com o código comentado:
Uso datepick para o calendário...
Javascript
HTML
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.