Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Autocomplete che prende più attributi da XML

    Ciao a tutti,
    io sto cercando di utilizzare un javascript per un autocomplete.
    Ho visto alcuni esempi in rete, ma non trovo qualcosa che fa al mio caso.
    Io vorrei effettuare due funzioni insieme, la prima di autocomplete sul campo in cui scrivo, la seconda di passare un altro valore ad un altro input.
    Io ho un xml con vari attributi.
    codice:
    
    
    <ROOT>
    <ROW COMCOD="01181" COMLIB="GROISSIAT" CODPOS="01100" IDCOMM="18" ETRANG="N" COLMEE="N" CSAGES="0104P02" FUSION="N"/>
    <ROW COMCOD="01237" COMLIB="MARTIGNAT" CODPOS="01100" IDCOMM="19" ETRANG="N" COLMEE="N" CSAGES="0104P02" FUSION="N"/>
    <ROW COMCOD="01031" COMLIB="BELLIGNAT" CODPOS="01100" IDCOMM="20" ETRANG="N" COLMEE="N" CSAGES="0104P02" FUSION="N"/>
    <ROW COMCOD="01185" COMLIB="LOMPNES" CODPOS="01110" IDCOMM="21" ETRANG="N" COLMEE="N" CSAGES="0104P02" FUSION="O"/>
    <ROW COMCOD="01185" COMLIB="LONGECOMBE" CODPOS="01110" IDCOMM="22" ETRANG="N" COLMEE="N" CSAGES="0104P02" FUSION="O"/>
    Quando utilizzo autocomplite io voglio prendere il valore CODLIB e riempire l'input in cui l'utente scrive, però anche passare il valore CODPOST ad un altro input.
    Sto seguendo questo esempio,


    codice:
    
     $(document).ready(function(){
     var myArr =[];
     
     $.ajax({
       type:"GET",
       url:"insee.xml",// change to full path of file on server
       dataType:"xml",
       success: parseXml,
       complete: setupAC,
       failure:function(data){
         alert("XML File could not be found");
       }
     });
     
     function parseXml(xml)
     {
       //find every query value
    
    
       $(xml).find("ROW").each(function()
       {
       
        var COMLIB = $(this).attr("COMLIB")
        var CODPOS = $(this).attr("CODPOS")
         myArr.push(COMLIB);
       });
     }
     
     function setupAC(){
       $("input#searchBox").autocomplete({
       source: myArr,
       minLength:3,
       select:function(event, ui){
        
        
        $("input#searchBox").val(ui.item.value);    
    
    
        
        
       }
      });
     }
    });
    






    codice:
    <form name="search_form" id="searchForm" method="GET" action="search_results.html">
    <label for="searchBox">KeywordSearch</label>
    <input type="text" id="searchBox" name="searchString" />
    <input type="text" id="CODPOSinput" name="CODPOSinput"/>
    
    <button name="searchKeyword" id="searchKeyword">Sumbit</button>
    </form>
    che mi fa correttamente usare autocomplite ma non so come prendere anche il CODPOS e inserirlo in CODPOSinput ,
    voi avete qualche suggerimento o qualche link da darmi?
    Grazie

  2. #2
    ho risolto in questo modo

    codice:
    function parseXml(xml)
      {
        //find every query value
    
        $(xml).find("ROW").each(function()
        {
         COMLIB = $(this).attr('COMLIB');
          CODPOS = $(this).attr('CODPOS');
          myArr.push({'value':COMLIB",'CODPOS':CODPOS});
    
    
        });
      }
    
    
    
    
    
       $("input#searchBox").autocomplete({
    
        source: myArr,
        minLength: 3,
        select: function(event, ui) {
         event.preventDefault();
    
        $("input#searchBox").val(ui.item.value);
        $("input#CODPOS").val(ui.item.CODPOS);  
    
    
    
        }
       });
    Vi chiedo un'altra cosa

    posso in qualche modo bloccare la lista dei comuni che viene mostrata dall'l'autocomplete con un if?

    mi spiego meglio
    io ho anche il campo nazione
    vorrei che prima di mostrare la lista dei valori dell'autocomplete presi dall'xml verifichi se la nazione é italia se non lo é l'utente può scrivere senza aiuto
    sto provando a mettere degli if (a caso testando) ma mi compare sempre l'autocomplete

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.