Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Removendo um item do array


.Andreia.

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0

como assim não entendi mas da uma olhada nesse codigo que eu fiz pode ajudar ele não exclui um item mas verifica se todos item do arry estão selecionados.

<html>
<link href="css/estilos.css" rel="stylesheet" type="text/css">
<script type="text/JavaScript">
function trazdados()
{
    var combouf = createXMLHTTP();
    combouf.open("post", "objEmpresa.asp", true);
    combouf.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    combouf.onreadystatechange=function()
    {
     if (combouf.readyState==4)
     {// abaixo o texto do gerado no arquivo executa.asp e colocado no div
      document.all.divcombouf.innerHTML = combouf.responseText;
   }
  } 
}


function valida()
{
  if(document.frmGeral.seEmpresa.selectedIndex==0) 
  {
   alert("Selecione uma empresa");
   document.frm.seEmpresa.focus();
   return false;
  }
  if(document.frmGeral.seTecnicos.selectedIndex==0) 
  {
   alert("Selecione um tecnico");
   document.frm.seTecnicos.focus();
   return false;
  }  
}

function AbrirJanela(janela,Pos1,Pos2,Pos3,Pos4) 
{
  window.open(janela,"SESSAO","left="+Pos1+",top="+Pos2+",width="+Pos3+",height="+Pos4)
}


function MM_jumpMenu(targ,selObj,restore){ //v3.0
    eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
    if (restore) selObj.selectedIndex=0;
} 
function processa(iQtdeVetor){
  if (consiste_controles(iQtdeVetor)){
  document.frm.submit();
  }
}

function consiste_controles(iQtdeVetor){
  var bmarcado = false;

  //Controles NÃO É ARRAY deve ser tratado sem o indíce
  if (document.frm.chkItem.length == undefined){
   if (!document.frm.chkItem.checked){
    alert('Selecione pelo menos um item!');
    document.frm.chkItem.focus();
    return false;
   }
  }else{
   for (var i=0;i<iQtdeVetor;i++){
    if (document.frm.chkItem[ i ].checked){
     bmarcado = true;
    }
   }    

   //Controles É ARRAY deve ser tratado com o indíce
   if (!bmarcado){
    alert('Selecione pelo menos um item!');
    document.frm.chkItem[ i ].focus();
    return false;
   }

  }
  return true;
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
    eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
    if (restore) selObj.selectedIndex=0;
} 

function marca_desmarca(opcao,iQtdeVetor){
  //Controles NÃO É ARRAY deve ser tratado sem o indíce
  if (document.frm.chkItem.length == undefined){
   document.frm.chkItem.checked = opcao;
  }else{
   for (var i=0;i<iQtdeVetor;i++){
    //Controles É ARRAY deve ser tratado com o indíce
    document.frm.chkItem[ i ].checked = opcao;
   }
  }
} 
</script>
<script language="javascript" src="jsp/ajax.js"></script>
</head>

<body>
<!--#include file="strCon.asp"-->
<%

  dim Conexao, strSql, strData, strVetor 
  call abreConexao()
  if Request.QueryString("atc") = "New" then
   strNoOs = Request.QueryString("NoOs")
   stridTecnico = Request.QueryString("idTecnico")
   data = date
   dia = datepart ("d", data)
   mes = datepart ("m", data)
   ano = datepart ("yyyy", data)
   strdata = (mes&"/"&dia&"/"&ano)
   vItensMarcado = split(Request.Form("chkItem"),",")
   if not IsArray(vItensMarcado) then
    vItensMarcado = array(vItensMarcado)
   end if
   for i = 0 to ubound(vItensMarcado)
    strSql = "Select * from tabDTH where DatCompromisso = #" & strData & "# "
    strSql = strSql & " and NoOs = " &  vItensMarcado(i) & " order by idEmpresa"
    set rsRota = Conexao.Execute(StrSql)   
    if not rsRota.Eof then
     strSql = "Update tabDth Set "
     strSql = StrSql & "idEmpresa=" & Request.QueryString("Empresa")& ","
     strsql = strSql & "idTecnico=" & Request.QueryString("idTecnicos")
     strSql = strSql & " where idDth=" & rsRota("idDth")
     'response.Write(strSql)
     'response.End()
     Conexao.Execute(StrSql)
    end if
   next
  end if
  data = date
  dia = datepart ("d", data)
  mes = datepart ("m", data)
  ano = datepart ("yyyy", data)
  strdata = (mes&"/"&dia&"/"&ano) 
  campo = "tabDth.NoOs,tabDth.DatCompromisso,tabDth.Periodo,tabDth.QtdPontos,tabDth.Sta
tus,tabCidades.Cidade"
  campo = campo & ",tabCliente.Cep,tabCliente.Bairro,tabCliente.TipoResidencia,tabDth.IdServico
,tabTipoOs.Descricao"
  campo = campo & ",tabDTh.idEmpresa,tabDth.idTecnico"
  strSql = "SELECT " & campo 
  strSql = strSql & " FROM tabTipoOs INNER JOIN (tabEstados INNER JOIN ((tabCidades INNER JOIN tabCliente ON "
  strSql = strSql & "tabCidades.idCidade =  tabCliente.IdCidade) INNER JOIN tabDth ON "
  strSql = strSql & "tabCliente.idCliente = tabDth.idCliente) ON (tabEstados.idEstado = tabCliente.IdEstado) "
  strSql = strSql & "AND (tabEstados.idEstado = tabCidades.idEstado)) ON tabTipoOs.idTipoOs = tabDth.idTipoOs "
  strSql = strSql & "WHERE (((tabDth.DatCompromisso)=#" & strData & "#))"
  if rsRota.state = 1 then rsRota.Close
  rsRota.Open strSql, Conexao, 3, 3
  status = "Rota Geral "
  rs = rsRota.RecordCount
%> 
<form action="atribuirotaGeral.asp?atc=New&Empresa=<%=Request.QueryString("Empresa")%>&idTecnicos=<%=Request.QueryString("idTecnicos")%>" method="post" name="frm" id="frm" onSubmit="valida();" > 
  <table width="700" border="0" align="center" cellpadding="2" cellspacing="2" class="Tabela">
   <tr>
     <td colspan="6"><span class="SubTitulo">Ola<%=Session("Usuario")%> voc&ecirc; est&aacute; em <strong>Intranet DTH 25</strong> <strong>&raquo; Atribui&ccedil;&atilde;o &raquo; <%=status%></strong></span></td>
    </tr>
   <tr>
    <td colspan="6">&nbsp;</td>
   </tr>
   <tr>
    <td colspan="6"><table width="100%" border="0" cellspacing="2" cellpadding="2">
     <tr>
      <td width="50%"><table width="100%" border="0" cellspacing="2" cellpadding="2">
       <tr>
        <td width="24%" class="SubTitulo">&nbsp;</td>
        <td width="39%" class="SubTitulo"><label id="Nome">Informe a Empresa:</label></td>
        <td width="37%" class="SubTitulo">
         <select name="seEmpresa" onChange="MM_jumpMenu('this',this,0)">
          <option value="atribuirotageral.asp?idEmpresa=0">Selecione</option>
          <%
          strSql = "Select * from tabEmpresa"
          set rsEmpresa = Conexao.Execute(strSql)
          if not rsEmpresa.Eof then
           while not rsEmpresa.Eof 
          %>
            <option value="atribuirotageral.asp?idEmpresa=<%=rsEmpresa("idEmpresa")%>&Empresa=<%=rsEmpresa("Empresa")%>"<%if cint(Request.QueryString("idEmpresa")) = rsEmpresa("idEmpresa") then%>selected<%end if%>><%=rsEmpresa("Empresa")%></option>
          <%
            rsEmpresa.MoveNext
           wEnd
          end if     
          %>
         </select>        </td>
       </tr>
      </table></td>
      <td width="50%"><table width="100%" border="0" cellpadding="2" cellspacing="2">
       <tr>
        <td colspan="2" class="SubTitulo"><label id="Nome">Informe um tecnico:</label></td>
        <td width="64%" class="SubTitulo">
         <select name="seTecnicos" onChange="MM_jumpMenu('this',this,0)">
          <option value="atribuirotageral.asp">Selecione</option>
          <%
          strSql = "Select * from tabTecnicos"
          set rsTecnicos = Conexao.Execute(strSql)
          if not rsTecnicos.Eof then
          while not rsTecnicos.Eof 
          %>
          <option value="atribuirotageral.asp?Opt=VoltaT&amp;idTecnicos=<%=rsTecnicos("idTecnico")%>&idEmpresa=<%=Request.QueryString("idEmpresa")%>&Empresa=<%=Request.QueryString("Empresa")%>"<%if cint(Request.QueryString("idTecnicos")) = rsTecnicos("idTecnico") then%>selected<%end if%>><%=rsTecnicos("Tecnico")%></option>
          <%
           rsTecnicos.MoveNext
          wEnd
          end if     
          %>
         </select>        </td>
       </tr>     
      </table></td>
     </tr>
    </table></td>
   </tr>
   <tr>
    <td width="10" align="right">&nbsp;</td>
    <td width="203">&nbsp;</td>
    <td width="102"><input type="button" name="Submit" value="Enviar" onClick="java script: processa(<%=rs%>);"></td>
    <td width="103"><input name="subLimpar" type="reset" id="subLimpar" value="Limpar" /></td>
    <td>&nbsp;</td>
    <td width="126">&nbsp;</td>
   </tr>
   <tr>
     <td height="10" colspan="6" class="Texto">&nbsp;</td>
    </tr>
   <tr>
    <td colspan="6" class="Texto">&nbsp;</td>
   </tr>
   <tr>
    <td colspan="6"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" class="Tabela">
     <%Bg="#FFFFFF"%>
     <tr bgcolor="<%=Bg%>">
      <td width="9%" align="center" class="SubTitulo">No. Os</td>
      <td width="7%" align="center" class="SubTitulo">Servi&ccedil;o</td>
      <td width="14%" align="center" class="SubTitulo">Tipo Os </td>
      <td width="9%" align="center" class="SubTitulo">Periodo</td>
      <td width="6%" align="center" class="SubTitulo">Status</td>
      <td width="9%" align="center" class="SubTitulo">CEP</td>
      <td width="10%" align="center" class="SubTitulo">Cidade</td>
      <td width="6%" align="center" bgcolor="<%=Bg%>" class="SubTitulo">Bairro</td>
      <td width="10%" align="center" class="SubTitulo">Residencia </td>
      <td width="20%" align="center" class="SubTitulo">&nbsp;</td>
     </tr>
     <tr>
      <td colspan="10" valign="top"><div><table width="100%" border="0" align="left" cellpadding="1" cellspacing="1" class="Tabela1" style="margin-left:0">
       <% if not rsRota.Eof then 
        dim i 
        i =0
        vVetor = 0 
        while Not rsRota.EOF
         if Bg="#FFFFFF" then Bg="#5082B4" else Bg="#FFFFFF" end if
       %>
         <tr bgcolor="<%=Bg%>">
          <td width="10%" class="SubTitulo"><%=rsRota("NoOs")%></td>
          <td width="7%" align="center" class="SubTitulo"><%=rsRota("idServico")%></td>
          <td width="16%" align="center" class="SubTitulo"><%=left(rsRota("Descricao"),20)%></td>
          <td width="11%" align="center" class="SubTitulo"><%=rsRota("Periodo")%></td>
          <td width="6%" align="center" class="SubTitulo"><%=rsRota("Status")%></td>
          <td width="11%" align="center" class="SubTitulo"><%=rsRota("Cep")%></td>
          <td width="10%" align="center" class="SubTitulo"><%=left(rsRota("Cidade"),10)%></td>
          <td width="10%" align="center" class="SubTitulo"><%=left(rsRota("Bairro"),10)%></td>
          <td width="10%" align="center" class="SubTitulo"><%=left(rsRota("TipoResidencia"),10)%></td>
          <td width="20%" class="SubTitulo"><input name="chkItem" type="checkbox" class="campo" id="chkItem" value="<%=rsRota("NoOs")%>" />
           <%if rsRota("idEmpresa") <> 0 then%>
           <%=rsRota("idEmpresa")%>
           <%end if%>
            -
            <%if rsRota("idEmpresa")<>0 then%>
            <%=rsRota("idTecnico")%>
            <%end if%></td>
          </tr>
        <%  rsRota.Movenext
         wEnd      
        end if
        %>
      </table></div></td>
     </tr>
    </table></td>  
   </tr>
   <tr>
     <td colspan="4">&nbsp;</td>
     <td class="SubTitulo"><input name="optMarca" type="radio" value="radiobutton" onClick="java script: marca_desmarca(true,<%=rs%>);" >
        Marcar Todas</td>
     <td span class="SubTitulo"><input name="optDemarca" type="radio" value="radiobutton" onClick="java script: marca_desmarca(false,<%=rs%>);">
        Desmarcar Todas</td>
    </tr>
   <tr>
    <td colspan="4">&nbsp;</td>
        <td width="120" class="SubTitulo">&nbsp;</td>
        <td width="126" span class="SubTitulo">&nbsp;</td>
   </tr>   
  </table>
</form>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Fala guria... não respondi antes porque minha conexão tem andado zureta nos últimos dias... nem vou te dizer que operadora estamos falando :(

Array é um saco mesmo...

Uma ideia seria usar split para separar e depois remover montando um novo array sem essa variável ou com replace da variavel por "".

O problema de usar o replace é que dará bem mais trabalho do que o que se pode imaginar... porque o item pode estar no inicio, meio ou fim do array e o replace deve considerar isso para repor ou tirar virgulas e etc...

Casinho complicado esse!

Link para o comentário
Compartilhar em outros sites

  • 0

Clauido, não entendi teu codigo muito extenso..

Rafael, eu tive q contornar de outra forma.. usando pelo proprio banco de dados.

Cheguei a usar o Scripting Dictionary, só q chegou num passo em que ele removia o intem da coleção mas não sei porque o tamanho não diminuia...

mas vl pela atenção

t++

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...