【问题标题】:How can I save correctly in an object after use the "each" function in javascript?在javascript中使用“each”函数后,如何正确保存在对象中?
【发布时间】:2015-11-13 11:14:35
【问题描述】:

我有这个功能:

changeTarea: function(){

var self = this;
$("#select_tarea_id").change(function() {
    var id_tarea = $("#select_tarea_id").val();

$.each(self.objTareasFlot, function(index,value) {

    for(var i = 0; i < value.length; i++){

        if(value[i].Id == id_tarea){ 
        self.objTareasFlotFinal.Id=value[i].Id;
        self.objTareasFlotFinal.Id_proyecto=value[i].Id_proyecto;
        self.objTareasFlotFinal.nombre_tarea=value[i].nombre_tarea;
        self.objTareasFlotFinal.porcentaje=value[i].porcentaje;   
        }  
    }
  console.info(self.objTareasFlotFinal);
 });
});
},

使用$("#select_tarea_id").change(function() {,我可以从下拉列表中获取选项的 ID。

self.objTareasFlot 我有这个(我展示了 3 个例子):

例如,如果我在 Id = 221 的下拉列表中选择一个选项,并且使用 if(value[i].Id == id_tarea){,我会检查下拉列表中的 Id 是否与 value[i].Id 中的相同。

console.info(value[i].Id,"=",id_tarea); 的示例显示如下:

所以我需要这个:

如果下拉列表中的 ID 为 221,并且我使用 if(value[i].Id == id_tarea){ 检查,我只需将 ID 为 221 的信息保存在对象中。

然后用console.info(self.objTareasFlotFinal); 打印:

对象 {Id: "221", Id_proyecto: "15", nombre_tarea: "Corregir base de datos", porcentaje: "85"}

但存在 2 个 ID 为 221,所以我需要保存和打印:

我该怎么做? 对不起我的英语我确实试图解释更好的方法

【问题讨论】:

    标签: javascript arrays object each


    【解决方案1】:

    如果我理解正确,请使用:

    changeTarea: function(){
    
    var self = this;
    $("#select_tarea_id").change(function() {
        var id_tarea = $("#select_tarea_id").val();
    
    $.each(self.objTareasFlot, function(index,value) {
    
            if(value.Id === id_tarea){ 
            self.objTareasFlotFinal.Id=value.Id;
            self.objTareasFlotFinal.Id_proyecto=value.Id_proyecto;
            self.objTareasFlotFinal.nombre_tarea=value.nombre_tarea;
            self.objTareasFlotFinal.porcentaje=value.porcentaje;   
            }  
     });
     // note that console, will log the object reference asynchronously
     // this means when browser js thread is finished
     console.info(self.objTareasFlotFinal);
    });
    },
    

    【讨论】:

    • 你好,但不存在 self.objTareasFlot.tareas , self.objTareasFlot 有所有数组的信息
    • 但是如果我说在 self.objTareasFlot 我有这个(我展示了 3 个例子),我展示了一张图片,为什么不清楚?
    • 在控制台图像中显示object tareas,在此数组内部,这不清楚,实际上在您的问题中还不清楚,因为源代码中的名称不同并且控制台输出中的名称不同,但无论如何
    • 哇.. 是的!抱歉,图片名不副实,但结果是一样的,我现在编辑。
    • 你的新答案打印:object {}
    猜你喜欢
    • 1970-01-01
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 2016-06-04
    • 2015-10-19
    • 2021-02-04
    • 2012-04-06
    相关资源
    最近更新 更多