Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery$(x).find(y).each(函数…)只返回单个值_Javascript_Jquery_Html - Fatal编程技术网

Javascript JQuery$(x).find(y).each(函数…)只返回单个值

Javascript JQuery$(x).find(y).each(函数…)只返回单个值,javascript,jquery,html,Javascript,Jquery,Html,我对来自JQuery$().find().each(函数(即)…)的结果有一些问题。 在$(e).find('option:selected').each()中,它会按预期将所有条目记录到控制台中,但是,当添加到我创建的对象workstation.input{}时,它只会添加最后选择的选项的最后一个值 HTML(由JS创建) 以下是broswer中的结果快照: 欢迎!请在调试时提供一个HTMLW示例,$(e2).attr('verfication-name')是否为预期值?我还将检查$(e2).

我对来自JQuery
$().find().each(函数(即)…)的结果有一些问题。

$(e).find('option:selected').each()
中,它会按预期将所有条目记录到控制台中,但是,当添加到我创建的对象
workstation.input{}
时,它只会添加最后选择的选项的最后一个值

HTML(由JS创建) 以下是broswer中的结果快照:

欢迎!请在调试时提供一个HTMLW示例,$(e2).attr('verfication-name')是否为预期值?我还将检查$(e2).val()以查看其中包含的内容。你能举一个什么工作站的例子吗?输入[$(e2).attr('verfication-name')]=$(e2).val()应该解析为什么?是的,所以实际上,我也错过了,但是如果我只是在HTML中添加了verfication-name属性,一个例子就是“示例verfication”:“Good”,与所选选项的值一样。现在它实际上返回“undefined”:“好”。默认设置良好:在“我的选项”中选择。如果在第一个代码块中包含
工作站
所包含内容的示例,和/或生成的HTML的副本,而不是生成它的脚本(假设第一个脚本按预期工作),则调试会容易得多。该“错误”正在显示的值已指定给未指定的特性。可能在每次迭代中,它都找不到您想要的属性,因此该属性是未分配的,并且该未分配的属性每次都会被覆盖,因此它只显示最后一个值。你应该先把它修好。欢迎!请在调试时提供一个HTMLW示例,$(e2).attr('verfication-name')是否为预期值?我还将检查$(e2).val()以查看其中包含的内容。你能举一个什么工作站的例子吗?输入[$(e2).attr('verfication-name')]=$(e2).val()应该解析为什么?是的,所以实际上,我也错过了,但是如果我只是在HTML中添加了verfication-name属性,一个例子就是“示例verfication”:“Good”,与所选选项的值一样。现在它实际上返回“undefined”:“好”。默认设置良好:在“我的选项”中选择。如果在第一个代码块中包含
工作站
所包含内容的示例,和/或生成的HTML的副本,而不是生成它的脚本(假设第一个脚本按预期工作),则调试会容易得多。该“错误”正在显示的值已指定给未指定的特性。可能在每次迭代中,它都找不到您想要的属性,因此该属性是未分配的,并且该未分配的属性每次都会被覆盖,因此它只显示最后一个值。你应该先把它修好。
for (var i = 0; i < workstation.verifications.length; i++)
{ 
    var verfication = workstation.verifications[i];  

    //defining the input field based on object "type" (See object def): 
    if (verfication.type == 'text')
    {
        var $input = $('<input/>').attr('type', verfication.type).attr('verfication-name', verfication.name).addClass('col form-control'); 
    } 
    else if (verfication.type == 'choice')
    {
        var $input = $('<select/>').addClass('form-control')
                .append($('<option/>').text('Good').attr("value", "Good"))
                .append($('<option/>').text('N/A').attr("value", "N/A"))
                .append($('<option/>').text('Bad').attr("value", "Bad"))
    }

    if (verfication['title']) 
    { 
        $formTable.append(
            $('<div/>').text(verfication['title']).attr("id", 'workstationFormSectionHeader')
        ); 

    }
    
    else if(!verfication['title'])
    {
        $formTable.append(
            $('<div/>').addClass('row input-group').append($('<div/>').addClass('input-group-text col-sm-3').text(verfication.name))
                .append($('<div/>').append($input).addClass('col'))); 
    }
}
 function get_form_data() { 
    var data = {workstation: []}; 

    $('.workstation-form').each(function (i,e) {
        var workstation = { 
            name: $(e).attr('workstation-name'), 
            input : {}, 
        }; 

        $(e).find('input').each(function(i,e2) { 
            
            //check for empty
            if ($(e2).val() == "") { 
                return; 
            }

            workstation.input[$(e2).attr('verfication-name')] = $(e2).val();

        }); 

        $(e).find('option:selected').each(function(i,e2){
            if ($(e2).val() == "") { 
                return; 
            }

            console.log($(e2)); 
            
            workstation.input[$(e2).attr('verfication-name')] = $(e2).val();
        })
            
        
        

        data.workstation.push(workstation); 
        //data.controllers.push(controller); 

    }); 

    return data; 
}