String concatenation problem and variables in the jquery load function

1

Follow the complete JavaScript code:

var idcl = document.getElementById('idcl').value;
$(document).ready(function(){
    $('#estados').change(function(){
        $('#cidades').load('cidades.php?estado='+$('#estados').val()+'&cliente='+idcl);
        $('#transacao').load('transacao.php?estado='+$('#estados').val()+'&cliente='+idcl+'&teste='+$('#cidades').val());
    });
});

Fields select:

 <select name="cidades" id="cidades">...</select>
 <select name="transacao" id="transacao">...</select>

I can not get this parameter: teste='+$('#cidades').val() to get the value that is in #cidades .

    
asked by anonymous 09.12.2015 / 17:24

4 answers

2

Try to separate the value into a variable.

var idcl = document.getElementById('idcl').value;
$(document).ready(function(){
    $('#estados').change(function(){
        var estados = $('#estados').val();
        $('#cidades').load('cidades.php?estado='+estados+'&cliente='+idcl);
        $('#transacao').load('transacao.php?estado='+ estados +'&cliente='+idcl+'&teste='+$('#cidades').val());
    });
});
    
09.12.2015 / 17:33
2

Try to do this using the same jQuery method, below, I've created a JSON for each parameter:

$(document).ready(function(){
    $('#estados').change(function(){
       var params = {
            cliente:$('#idcl').val(),
            cidades:$('#cidades').val(),
            estado:$('#estados').val()
       };
        $('#cidades').load('cidades.php?estado=' + params.estado + '&cliente=' + params.cliente);
        $('#transacao').load('transacao.php?estado=' + params.estado + '&cliente=' + params.cliente + '&teste=' + params.cidades);
    });
});
    
10.12.2015 / 12:48
1

To retrieve values from <select> in jQuery, it looks like this:

var estado = $('#estados option:selected').attr('value');

Because the <select> object has no value, it has several options, and you have to bring the value of the selected option.

    
09.12.2015 / 18:18
1

Dude, the problem must be in option 's select .

Make sure you wrote your select to <option value='ba'>Bahia</option> . In the case I mentioned, if you use $('#estados').val() , it will return "ba" .

Also check that the id is correct in select .

Sometimes it's a typo that goes unnoticed.

    
10.12.2015 / 11:29