Chcialbym dodac atrybut \"selected\" do pola \"podkategorie\" w formularzu.
Ponizej skrypt pobiera dane podkategorii i dopasowuje je do pola \"Kategoria\" ,czyli np. zaznaczam Kategorie 1, a skrypt pokazuje pasujace podkategorie.
Kolejny kawalek kodu pobiera wszystkie dane na temat jednej ksiazki.
Zapewne mozna cos zrobic z tym kodem, ale nie wiem jak. Jestem jednak blisko.
Formularz otwiera sie w oknie .modal, pobiera dane do pól, wszystko za pomoca ponizszego kodu, ktory nie jest kompletny, ale najwazniejsze zostalo aby skrocic post. Uzywam CodeIgniter 3, bootstrap i jquery
/*populate subcats field on cat field change*/
$('#book_cat').change(function(){
var subcat_id = $(this).val();
$("#book_subcat > option").remove();
$.ajax({
type: "POST",
url: "
<?php echo site_url
('book/populate_subcats'); ?>",//controller
data: {id: subcat_id},
dataType: 'json',
success:function(data){
$.each(data,function(k, v){
var opt = $('<option />');
opt.val(k);
opt.text(v);
$('#book_subcat').append(opt);
});
}
});
});
//get book data
function edit_book(id) {
save_method = 'update';
$('#form')[0].reset(); // reset form on modals
$.ajax({ //Load data from ajax
url: "
<?php echo site_url
('book/get_row/') ?>" + id,
type: "GET",
dataType: "JSON",
success: function(data) {
$('[name="book_cat"]').val(data.book_cat).trigger('change'); //new
$('[name="book_subcat"]').val(data.book_subcat).trigger('change'); //new
},
error: function(jqXHR, textStatus, errorThrown) {
alert('Error get data from ajax');
}
})
}
//Database structure:
TABLE `books` (
`book_id`
`book_cat` = refers to table book_cats
`book_subcat` = refers to table book_subcats)
TABLE `book_cats` (
`cat_id`
`cat_name`
TABLE `book_subcats` (
`subcat_id`
`subcat_name`
`parent_id` = refers to table book_cats)
Ten post edytował janeiro 23.04.2023, 16:56:27