javascript таблицы данных; изменить вариант формы для всех строк - PullRequest
0 голосов
/ 07 августа 2020

У меня есть таблица, в которой один из столбцов имеет форму html с двумя вариантами; front.jpg и back.jpg. Я пытаюсь сделать это так. Если я выберу один из этих параметров в заголовке столбца, он изменит каждое значение строк таблицы.

https://jsfiddle.net/martinradio/L2ypkauc/16/

Я создал свою таблицу и добавил работающий прослушиватель событий. Я попытался получить каждую строку с помощью upload_table.rows().eq(0).each( function ( index ) {, который работает, но я не могу изменить значения каких-либо строк.

Если я выберу 'front.jpg' в заголовке столбца, как я могу установить значение столбца каждой строки на тоже быть 'front.jpg'?

$(document).ready(function() {
    var upload_table = $(`#upload_1_table`).DataTable({
            columnDefs: [ 
                
            ],
            responsive: true,
            data: [
                    [
 4, 
            "<input type='checkbox'>", 
            "11. Im Tevakshi.flac", 
            "flac", 
            2.82, 
            "<select name='cars'><option value='back.jpg'>back.jpg</option><option value='front.jpg'>front.jpg</option></select>", 
                    ],[
 4, 
            "<input type='checkbox'>", 
            "11. Im Tevakshi.flac", 
            "flac", 
            2.82, 
            "<select name='cars'><option value='back.jpg'>back.jpg</option><option value='front.jpg'>front.jpg</option></select>", 
                    ],
           
            
            ],
            "dom": "t",
            select: {
                style: 'multi',
                selector: 'td:nth-child(2)'
            },
            rowReorder: true,
            
            rowReorder: {
                selector: 'td:nth-child(1)'
            }
        });
        
        
        
        //image selection changed
        $('#upload_1_tableImageSelectionColHeader').change(function(e) {
            console.log(`upload-1-imageOptionsCol clicked`)
            
           
            upload_table.rows().eq(0).each( function ( index ) {
                var row = upload_table.row( index );
             
                var data = row.data();
                //console.log("row = ", row)
                console.log("data = ", data)
                data[2] = 'ex'
            } );
            
            upload_table.draw();
        });
        
} );
...