在基于Mysql数据库的动态数据表中填充2下拉列表

时间:2018-01-01 09:53:00

标签: javascript jquery datatables dropdown

美好的一天 新年快乐2018年。 我的数据表包含 2下拉列表L1和L2 以及其他文本字段。

我想要做的是:当我点击EDIT链接时,我可以更改下拉列表L1中的值,并根据L1中的值,我在L2中得到一个列表并从中选择一个选项

从Mysql数据库中检索第一个列表“L1”的值,这样可以正常工作。 Image1 应该根据从第一列表L1中选择的值,用来自另一个Mysql表的值填充第二列表L2。 不幸的是,在从第一列表L1中选择值之后没有填写第二列表。 Image2

为了确保将First List链接到第二个列表没有问题,我尝试手动将项目(Mysql表中的相同项目)添加到列表L1中,当我选择一个值时,第二列表L2工作正常。 Image3

这是EDIT函数的代码:

function editRow(oTable, nRow) {
        var aData = oTable.fnGetData(nRow);
        var jqTds = $('>td', nRow);
        jqTds[0].innerHTML = '<input type="text" class="form-control" value="' + aData[0] + '">';
        jqTds[1].innerHTML = '<select id="L1" class="form-control" value="' + aData[1] + '" ><option value="0">- Select -</option><option value="1">Finance</option><option value="2">IT</option><option value="3">Marketing</option><option value="4">Operational</option><option value="5">Sales</option><option value="6">Staff</option></select>';
        jqTds[2].innerHTML = '<select id="L2" class="form-control" value="' + aData[2] + '" ></select>';

        jqTds[3].innerHTML = '<a class="save-row" href="">Enregistrer</a>';
        jqTds[4].innerHTML = '<a class="cancel-row" href="">Annuler</a>';

        $("#L2").change(function(){
            var deptid = $(this).val();

            $.ajax({
                url: 'getUsers.php',
                type: 'post',
                data: {depart:deptid},
                dataType: 'json',
                success:function(response){

                    var len = response.length;

                    $("#L2").empty();
                    for( var i = 0; i<len; i++){
                        var id = response[i]['id'];
                        var name = response[i]['name'];

                        $("#L2").append("<option value='"+id+"'>"+name+"</option>");

                    }
                }
            });
        });


    }

希望有人可以帮助我:(谢谢

0 个答案:

没有答案