Не удалось создать всплывающую подсказку при вставке строки в Easyui Datagrid - PullRequest
1 голос
/ 18 марта 2019

У меня есть список книг в моей базе данных с base64 Image. Я загрузил всю информацию о книге, включая имя, ISBN, издателя и т. Д., Кроме изображения в массиве, когда открываю страницу вставки книги.Итак, я хочу, чтобы изображение появлялось в подсказке, когда я вставляю идентификатор книги в поле. Я отправлю запрос в контроллер и получу изображение.Но почему-то моя подсказка не работает.даже я получаю данные изображения как неопределенные.

вот код для вставки строки:

$('#dg').datagrid('insertRow', {
index: editIndex, // index start with 0
row: {
book_id: item_id[val], bookname: item_name[val],image: item_image[val], authors: item_authors[val],
item_rate: item_localsale_rate[val], isbn: item_isbn[val],item_quantity: vr_qty, itemcost: 0, item_discount: 0, unitcost: totalItemCost
}

})

Вот мой код для всплывающей подсказки:

                    $(this).datagrid('getPanel').find('tr.datagrid-row').each(function () {
var index = parseInt($(this).attr('datagrid-row-index'));

 $(this).tooltip({
zIndex: 9999999,
trackMouse: false,
position: 'top',
content: '<span style="color:#fff;"><img src=' + data.rows[index]['image'] + ' width="100" height="100"></span>'

})
                        
})

И вот массив, который я создаю для загрузки данных: он работает нормально.Все данные были успешно загружены

var bookList = new Array();
var item_id = new Array();
var item_name = new Array();
var item_image = new Array();
var item_isbn = new Array();
var item_authors = new Array();
var item_face_rate = new Array();
var item_wholesale_rate = new Array();
var item_localsale_rate = new Array();
var item_retailsale_rate = new Array();
var item_special_price = new Array();
var item_teacher_price = new Array();
var store_id = new Array();

var b_id = <?php echo $row->book_id; ?>;
item_id[b_id] = <?php echo $row->book_id; ?>;
item_name[b_id] = '<?php echo $row->name; ?>';
item_isbn[b_id] = '<?php echo $row->isbn; ?>';
item_image[b_id] = '';
item_authors[b_id] = '<?php echo $row->authors; ?>';
item_localsale_rate[b_id] = <?php echo $row->local_sale; ?>;
store_id[b_id] = <?php echo $row->store_id; ?>;

 var url = '<?php echo base_url('sales/Salesinvoice/getBookCover'); ?>'+'/'+ item_id[val];
alert(url);
$.ajax({
    type: 'POST',
    url: url,
    dataType: 'json',
    success: function (data) {
    var image = data.image;
    item_image[val] = image;
    alert(image);
    },
    error: function (error) {
    alert('Due Collect error');
    }
    });

Я немного запутался с подходом на самом деле. Какой должен быть подход к получению изображения при вставке строки в сетку данных.

...