How to change option from JSON return

0

How do I change the option below, based on the JSON return:

<select name="modalidade-frete" id="modalidade-frete">
    <option value="0">0 - Por conta do emitente</option>
    <option value="1">1 - Por conta do destinatário/remetente</option>
    <option value="2">2 - Por conta de terceiros</option>
    <option value="9" selected>9 - Sem frete</option>
</select>

Note: I want to remove the default 9 value and change it to the value corresponding to the JSON return, for example: data.mod_frete = 1 , going like this: p>

<select name="modalidade-frete" id="modalidade-frete">
        <option value="0">0 - Por conta do emitente</option>
        <option value="1" selected>1 - Por conta do destinatário/remetente</option>
        <option value="2">2 - Por conta de terceiros</option>
        <option value="9">9 - Sem frete</option>
</select>
    
asked by anonymous 31.01.2017 / 21:09

2 answers

2

Just set the value of <select> to the value of the desired option:

var sel = document.getElementById('modalidade-frete');
sel.value = 1; // no caso, sel.value = data.mod_frete 
    
31.01.2017 / 21:13
1
$.post('destino.php', {data:'data'}, function(response){
  $('#modalidade-frete').val(response.valor_desejado_para_o_option);
}, "json");

[In response to your comment @luccasrodrigo]

$.post('destino.php', {data:'data'}, function(response){
  if($('#modalidade-frete').attr('selected') == true){
    $('#modalidade-frete').attr('selected', 'false'); // Oculta o selected no HTML
  }
}, "json");
    
31.01.2017 / 21:15