Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909

    [jquery] onchange valorizza campi

    Salve, fin'ora ho usato:
    codice:
    		 
        $("#com").autocomplete({
            source: "search.php",
    		 select: function(event, ui) {
                        $('#id').val(ui.item.id);
                        $('#cap').val(ui.item.cap);
    		   $('#prv').val(ui.item.prv);
    		 }
        });
    ...per valorizzare alcuni campi di testo.
    Ora però anzichè partire da un campo di testo avrei la necessità di partire da un campo select.

    In pratica all' onChange della select il valore viene inviato al file php che esegue una query al db e mi restituisce i valori che mi valorizzano i campi di testo.


    Spero possiate aiutarmi, Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    ho fatto questo:
    codice:
    
    $("#select").change(function(){	
    var  $sel = $("#select option:selected").val();
      $.ajax({
      url:'search.php?s='+$('#select').val(),
      success: function(data) {
    	 $('#id').val(data); 
             $('#cap').val(data);   //qui dovrei valorizzare tutti i campi
    
      },
      error: function(){alert('sorry, something went wrong...')}
    });
    });
    in pratica la risposta di search.php è così:
    codice:
    [{"id":"2","cap":"90046"}]

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    Up pls

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    da php ricevi un json quindi devi specificarlo come dataType nella chiamata ajax

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    l'ho fatto...ma non cambia:
    codice:
    dataType: 'json',
    la risposta arriva ma non saprei come recuperare i rispettivi valori
    codice:
    [{"id":"2","cap":"90046"}]

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    success: function(data) {
    	 $('#id').val(data.id); 
             $('#cap').val(data.cap);   //qui dovrei valorizzare tutti i campi
    
      }

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    non va!

    tramite la console di firebug ottengo il risultato
    codice:
    [{"id":"2","cap":"90046"}]
    ma non riesco a valorizzare il campo di testo interessato

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    quello che ho postato è il metodo corretto(object oriented) per recuperare i dati. Se non va il problema è un altro. metti un alert prima della valorizzazione dei campi all'interno del metodo success almeno vediamo se fin li arriva.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    909
    codice:
     $(document).ready(function(){
    $("#cat").change(function(){
     var  $sel = $("#cat option:selected").val();
    var elem = $(this).val();
    $.ajax({
    dataType: 'json',
     url:'isearch.php?ag='+$('#cat').val(),
    success: function(data) {
    id =  $('#id').val(data.id); 
    alert(id);
    $('#cap').val(data.cap);   
    
      },
      error: function(){alert('sorry, something went wrong...')}
    });
    });
    risposta in alert:
    codice:
    [object Object]
    eppure ripeto che i dati nella consolle di firebug li vedo tranquillamente nella forma:
    codice:
    [{"id":"2","cap":"90046"}]
    posto anche un pò di php:
    codice:
    $return_arr = array();
    $dati = mysql_query("SELECT * FROM tab where  nom=\"$_GET[ag]\"");
    WHILE($row = mysql_fetch_array($dati)){
    
            $row_array['id'] = $row['id'];
            $row_array['cap'] = $row['cap'];
    	
            array_push($return_arr,$row_array);
        }
    echo json_encode($return_arr);

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    mmmm... forse ho capito, il problema sono le parentesi quadre... andrebbero tolte in teoria... cmq dovresti riuscire a recuperare i dati cmq facendo cosi:

    codice:
    success: function(data) {
    $('#id').val(data[0].id); 
    $('#cap').val(data[0].cap);

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 © 2026 vBulletin Solutions, Inc. All rights reserved.