Необходимо загрузить jqgrid на основе события изменения выпадающего списка

#javascript #jquery #asp.net #jqgrid

#javascript #jquery #asp.net #jqgrid

Вопрос:

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

Это сработает только один раз.Если я выберу второй вариант в раскрывающемся списке, сетка не сможет попасть по URL-адресу

 $(document).ready(function () {

        $("#skill").on('change', function () {


            $("#Jobtable").jqGrid({
                url: '/Admin/ViewSelectedJobs?skill='   $("#skill").val(),
                datatype: "json",
                mtype: 'GET',
                colNames: ['ID', 'Title'],
                colModel: [
                            { name: 'ID', index: 'ID', width: 150, align: 'left', editable: true },
                            { name: 'Title', index: 'Title', width: 150, align: 'left', editable: true }

                ],
                rowNum: 10,
                rowList: [10, 20, 30],
                viewrecords: true,
                loadonce: true,
                gridview: true
});
})
 

Ответ №1:

Вы должны сначала выгрузить сетку, а затем загрузить ее снова, используя приведенный ниже jQuery :

 $("#Jobtable").jqGrid('GridUnload');
 

Таким образом, ваш код должен быть :

 $("#skill").on('change', function () {

           $("#Jobtable").jqGrid('GridUnload');
            $("#Jobtable").jqGrid({
                url: '/Admin/ViewSelectedJobs?skill='   $("#skill").val(),
                datatype: "json",
                mtype: 'GET',
                colNames: ['ID', 'Title'],
                colModel: [
                            { name: 'ID', index: 'ID', width: 150, align: 'left', editable: true },
                            { name: 'Title', index: 'Title', width: 150, align: 'left', editable: true }

                ],
                rowNum: 10,
                rowList: [10, 20, 30],
                viewrecords: true,
                loadonce: true,
                gridview: true
});