Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

224
Views
Cómo usar 2 url en 1 función ajax

Tengo 2 tablas, almacén y categoría de artículos, quiero mostrar mi tabla en la opción de selección ajax. Logré mostrar la categoría de elemento de opción seleccionada.

Mi código Ajax

 $(function () { var i = 0; $("#add-more-item").click(function () { ++i; $.ajax({ type:"GET", url:"/admin-master/get_item_category", dataType: 'JSON', success:function(res){ let option = ""; $.each(res,function(itemcategory_name,id_item_category){ option += '<option value='+id_item_category+'>'+ itemcategory_name+ '</option>' }); $(".add-more").append( '<tr><td><select class="form-control" id="warehouse"></select</td> <td><input type="text" name="item_code['+i+']" class="form-control" placeholder="Kode Barang" required></td> <td><select class="form-control" name="itemcategory_id['+i+']"><option>-- Pilih Ketegori --</option>'+option+'</select></td> <td><input type="text" name="item_name['+i+']" class="form-control" placeholder="Nama Barang" required</td> <td><input type="text" name="item_weight[]" class="form-control" placeholder="Contoh : 200 kg" required></td> <td><input type="text" name="item_height[]" class="form-control" placeholder="Contoh : 200 cm" required></td> <td><input type="number" name="item_qty[]" class="form-control" placeholder="Contoh : 200 " required></td> <td><input type="text" name="description[]" class="form-control" placeholder="Keterangan Barang"></td> <td align="center"><button type="button" class="remove-item btn btn-danger btn-md"><i class="fas fa-trash-alt"></i></a></td></tr>' ); } }); });

¿Cómo recupero el almacén de datos? ¿Debo crear 2 URL para buscar artículos de categoría y almacén? puedo hacer 2 urls?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

por qué no combina el almacén y la categoría de artículo en 1 url ajax

Ejemplo /admin-master/get_item_category_and_warehouse

y en controlador

 return response([ 'item_categories' => $itemCategory, 'warehouse' => $warehouse, ]);

y ajax función de éxito

 success:function(res){ let item_categories = res.item_categories, warehouse = res.warehouse; // process options }
about 4 years ago · Juan Pablo Isaza Report

0

Cada <option> tiene un valor de identificación de la tabla Categorías, ¿te sugiere eso?

Primero debe definir la relación entre ellos (categorías de tabla y almacén) en el modelo. (Uno a muchos)

Luego, debe crear 2 funciones en su controlador, la primera función para obtener todos los datos de Categoría, y la última es filtrar la tabla de Almacén con la identificación de Categoría.

Ejemplo:

función obtener datos de la tabla de categorías

public function getCategories(){
$category = CategoryModel::getAll();
return response()->json('data'=> $category);
}

filtro de función Almacén por id (de la tabla Categorías)/ejemplo

public function filterWarehouse($id){
// using Eloquent or QueryBuilder to find all Warehouse data by $id (Categories table)
return response()->json($wareHouseDataById);
}

Luego, en su opinión, debe llamar a un ajax para obtener todos los datos de las categorías (cualquiera que sea el nombre de la ruta que definió para llamar a las dos funciones anteriores) y completar los datos de las categorías en su etiqueta <option> . Listo para agregar filtro de evento onclick cada opción.

 <option value='+ data.data.id +' onclick="getWarehouseFilter(data.data.id)">'+ data.data.name+'</option>

Y el último trabajo es crear una nueva función de javascript y llamar a otro ajax para obtener datos de Warehouse (segunda función). (en el evento de propósito onclick)

Ejemplo de datos de almacén de filtro de llamadas ajax:

function getWarehouseFilter(id){
let id = $(this).attr(id);
o
let id = $(this).target.value;
$.ajax({
url: '/getFilterWarehouseData....',
method: 'post',
data: {id: id},
dataType: 'json',
success: function(data){
$('#htmlNeedToRenderData').html(rawHtml(your custom) + data )
// do not use append() in this case.
},
error: function(response){
// do whatever if got an error
}
})
}

Espero que esto te ayude.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!