2016-09-05 6 views
-1

я имею код HTML, как:JQuery выберите опцию установленное значение из JSON

$.ajax({ 
 
    type: "POST", 
 
    url: "hanca/hanca_crud.php", 
 
    dataType: 'json', 
 
    data: { 
 
    id_hanca: id_hanca, 
 
    type: "detail_hanca" 
 
    }, //detail_hanca 
 
    success: function(data) { 
 

 
    var teks = ""; 
 
    $.each(data.detail, function(indeks, nilai) { 
 
     //status hanca 
 
     var tmp1 = nilai.status_detail_hanca; 
 
     $("select.status_detail_hanca").val(tmp1); 
 

 
     var no = nilai.no; 
 
     var status_detail_hanca = "<select class='status_detail_hanca' name='status_detail_hanca[]' ><option value='0'>Proses</option><option value='1'>Return</option><option value='2'>Selesai</option></select>"; 
 
     teks += "<tr>" + no + 
 
     "</td><td>" + status_detail_hanca + 
 
     "</td></tr>"; 
 
    }); 
 
    $(".tbody_detail_hanca_checking").append(teks); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<table> 
 
    <thead> 
 
    <tr> 
 
     <th>No.</th> 
 
     <th>Status Proses</th> 
 
    </tr> 
 
    </thead> 
 
    <tbody class="tbody_detail_hanca_checking"> 
 
    </tbody> 
 
</table>

и этот вывод JSON:

{ 
 
\t "detail": [{ 
 
\t \t "status_detail_hanca": "2", 
 
\t \t "no": 1 
 
\t }, { 
 
\t \t "status_detail_hanca": "0", 
 
\t \t "no": 2 
 
\t }] 
 
}

я использую ajax для получения данных jso n, я хочу создать select option и установить данные value от json. но, это не работа. как это исправить?

текст фиктивная позволяют код Lorem Ipsum боль сидеть Амет, consectetur adipiscing Элит. Morbi vel fermentum massa, quis viverra lectus. Aliquam tristique feugiat volutpat. Donec elementum sapien vel enim facilisis sollicitudin. Integer pellentesque volutpat enim

+0

где находится элемент выбора>? – madalinivascu

+0

'status_detail_hanca' динамически добавлен – guradio

+0

Это создает элемент с jquery, например: var var_detail_hanca =" ";' –

ответ

0
$("select.status_detail_hanca").val(tmp1); 

Это не будет работать, как вы пытаетесь установить выберите опцию, прежде чем вы написали то же самое, - $(".tbody_detail_hanca_checking").append(teks);

Так что попробуйте это.

$.ajax({ 
    type: "POST", 
    url: "hanca/hanca_crud.php", 
    dataType: 'json', 
    data: { 
    id_hanca: id_hanca, 
    type: "detail_hanca" 
    }, //detail_hanca 
    success: function(data) { 

    var teks = ""; 
    $.each(data.detail, function(indeks, nilai) { 
     //status hanca 
     var tmp1 = nilai.status_detail_hanca; 
     $("select.status_detail_hanca").val(tmp1); 

     var no = nilai.no; 
     var status_detail_hanca = "<select class='status_detail_hanca' name='status_detail_hanca[]' >\n\ 
     <option value='0'"; 
     if(tmp1 === '0') { 
      status_detail_hanca += " selected "; 
     } 
     status_detail_hanca += ">Proses</option>\n\ 
     <option value='1'"; 
     if(tmp1 === '1') { 
      status_detail_hanca += " selected "; 
     } 
     status_detail_hanca += ">Return</option>\n\ 
     <option value='2'"; 
     if(tmp1 === '2') { 
      status_detail_hanca += " selected "; 
     }     
     status_detail_hanca += ">Selesai</option>\n\ 
     </select>"; 
     teks += "<tr>" + no + 
     "</td><td>" + status_detail_hanca + 
     "</td></tr>"; 
    }); 
    $(".tbody_detail_hanca_checking").append(teks); 
    } 
}); 
Смежные вопросы