• User

    jquery ajax() json

    Ciao a tutti ho questo script che funziona perfettamente su firefox ma si blocca a comuni su IE con errore:

    previsto ')' alla linea 196

    
    $('select#regione').change(function() {
            if ($('select#regione option:selected').attr('value') !== ' ') {
                $('div#province').show();
                $('select#provincia').html('<option class="provincia">attendere</option>');
                var regione = $("select#regione option:selected").attr('value');
                regione = regione.toLowerCase();
                    
                $.ajax({
                    type: 'GET',
                    dataType: 'html',
                    url: 'ajax.php',
                    data: 'regione='+regione,
                    success: function (response){
                        var provincia = eval('(' + response + ')');
                        var i = 0;
                        var count = provincia.length;
                        $('select#provincia').html('<option class="provincia" value=" ">TUTTE</option>');
                        while (i<count) {
                            $('select#provincia').append('<option class="provincia">'+ provincia*.toUpperCase() +'</option>');
                            i++;
                        }    
                    },
                    error: function(request,error) {
                        alert ( " Can't do because: " + error );
                    }
                });
            } else {
                $('div#province').hide();
                $('select#province option:selected').attr('value',' ');
                $('div#comuni').hide();
                $('select#comuni option:selected').attr('value',' ');
            }
        });
        
        
        $('select#provincia').change(function() {
            if( $('select#provincia option:selected').attr('value') !== ' ') {
                $('div#comuni').show();
                $('select#comune').html('<option class="comune">attendere</option>');
                var provincia1 = $("select#provincia option:selected").attr('value');
                provincia1 = provincia1.toLowerCase();
                    
                $.ajax({
                    type: 'GET',
                    dataType: 'html',
                    url: 'ajax.php',
                    data: 'provincia='+provincia1,
                    success: function (response){
                        var comune = eval('(' + response + ')');
                        var i = 0;
                        var count = comune.length;
                        $('select#comune').html('<option class="comune" value=" ">TUTTI</option>');
                        while (i<count) {
                            $('select#comune').append('<option class="comune">'+ comune*.toUpperCase() +'</option>');
                            i++;
                        }    
                    },
                    error: function(request,error) {
                        alert ( " Can't do because: " + error );
                    }
                });
            } else {
                $('div#comuni').hide();
                $('select#comuni option:selected').attr('value',' ');
            }
        });
    
    ```l'ultima riga funzionante credo sia 
    
    

    $('select#comune').html('<option class="comune">attendere</option>');

    
    L'ho anche validato con jslist e a parte un paio di errori su uno script che non c'entra nulla è tutto perfetto..
    
    IE mi da anche errore al caricamento con 'JSON' non definito perchè?
    
    Qualche idea?

  • User

    risolto.. nn avevo specificato i value..

    però l'errore JSON è definito rimane..


  • Super User

    @Mr_Piter said:

    però l'errore JSON è definito rimane..
    Ciao Mr_Piter,
    JSON non l'ho riesco a trovare nel codice da te fornito. In che riga ed in quale file è relativo il suddetto errore?


  • User

    json si trova nella pagina richiamata da ajax().

    è semplicemente l'array

    
    $result = "{'prezzo':".$rowprezzo[prezzo].",'step':".$rowcat[step]."}";
    
    

    mentre un'altra array è specificata con json_encode


  • Super User

    prova cosi:

    
    $result = "{'prezzo':'".$rowprezzo[prezzo]."','step':'".$rowcat[step]."'}";