Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

172
Visualizações
How to solved always looping select option value from ajax

I have a data, when I update the data (using modal), select option work correctly enter image description here

When I close the modal, and I click the edit button again, something wrong with select option: enter image description here

This is my edit modal ajax:

// Function for edit modal plan schedule
    $('body').on('click', '.editPlanSchedule', function() {
        var Item_id = $(this).data('id');
        $.get("/quotation/getEditPlanSchedule" + '/' + Item_id, function(data) {
            console.log(data['product_plan']);
            $('.modal-title-edit').html("Edit Plan Schedule Item");
            $('#saveBtn').val("Update");
            $('#updatePlanSchedule').modal('show');
            $('#id').val(data['data'].id);
            $('#qno').val(data['data'].qno);
            $('#b_amount').val(data['data'].b_amount);
            // $('#product_plan_edit').val(data.product_plan);
            
            data['product_plan'].forEach(function(item, index) {
                
                $('#product_plan_edit').append($('<option>', {
                    id: item.id,
                    value: item.productplanID,
                    text: item.productplanID
                }));
                
                if(data['data'].product_plan == item.productplanID){
                    $('#'+item.id).attr('selected',true);
                }
            });

        })
    });

This is the method from controller:

public function getEditPlanSchedule($id)
{
    $item['data'] = QuotationPlanSchedule::find($id);
    $item['product_plan'] = ProductPlan::orderby('id', 'asc')->get();
    return response()->json($item);
}
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

You have to clear all options before adding again:

$("#product_plan_edit").empty();
about 4 years ago · Juan Pablo Isaza Relatório

0

Either .empty the container or don't use append (better for the DOM update)

I am a little confused about your use of data['data'].product_plan to test the ID. In any case you can see the principle

$('#product_plan_edit').html(
  data['product_plan'].map(item => `<option value="${item.productplanID}">${item.productplanID}</option>`).join('')
);
$('#product_plan_edit').val(data['data'].product_plan); // select item.productplanID === data['data'].product_plan
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda