javascript - 动态填充表格每一行的下拉菜单

标签 javascript jquery

我有一个包含 n 行的表,具体取决于结果。页面顶部有一个下拉菜单。根据该下拉列表的选择,我希望基于 xhttp.response,使用自己的下拉列表动态填充每行上的列。

这是我到目前为止所拥有的:

function getJobs(taskID){

        var xhttp = new XMLHttpRequest();
        var url = "dynamicdd.php";
        var data = new FormData();
        data.append('taskID', taskID);
        xhttp.open('POST', url, true);
        xhttp.send(data);
        $('#cTable tr').each(function(){
            xhttp.onreadystatechange = function() {
                if (xhttp.readyState == 4 && xhttp.status == 200) {
                document.getElementById("testSelect").innerHTML = xhttp.responseText;
                    }
                }
            });
        }

我能够成功更改第一行,但后续行却不能。我尝试用 $(this).find(select:eq(0)).html() 代替 document.getElementById() 但没有运气。我觉得我很接近,但缺乏 jquery/javascript 方面的专业知识。感谢您的帮助。

最佳答案

您正在为每个表行重新分配 onreadystatechange 函数,这是错误的,

首先评估该函数必须执行的操作, 然后发送请求 然后等待响应准备好 然后寻找您想要的元素并将元素 html 替换为响应文本,如下所示,

function getJobs(taskID){

    var xhttp = new XMLHttpRequest();
    var url = "dynamicdd.php";
    var data = new FormData();
        data.append('taskID', taskID);
    xhttp.open('POST', url, true);
    xhttp.onreadystatechange = function() {
        if (xhttp.readyState == 4 && xhttp.status == 200) {
            $('#cTable tr').each(function(index, element){
                $(element).find('#testSelect').html(xhttp.responseText);     
            }
        }
    });
    xhttp.send(data);
}

关于javascript - 动态填充表格每一行的下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59035038/

相关文章:

JavaScript 无法在 WordPress 内容区域之外工作

php - 将表单数据保存在 url 中,无需重新加载页面

javascript - 如果用户关闭浏览器而不按注销,如何使状态变为离线状态?

javascript - Jquery获取单字段数据

jQuery 或 CSS 显示外部页面的缩略图

javascript - 使用javascript在html页面上添加一个随机div(不重复)

javascript - 在 Mongoose 外部的函数中返回数据

javascript - 如何在未完成添加序列的情况下从 rxjs 创建数组

javascript - 如何在哈巴狗中插入变量字符串?

javascript - 我想每次都将不同的变量传递给循环中动态创建的按钮