鍍金池/ 問答/HTML/ 在由對象構(gòu)成的數(shù)組中,已知其中一個(gè)對象的一個(gè)值,如何修改該對象的其他值。

在由對象構(gòu)成的數(shù)組中,已知其中一個(gè)對象的一個(gè)值,如何修改該對象的其他值。

如已知一個(gè)數(shù)組

items: [
    {name: "zhangsan",
     score: 0
    },
    {name: "lisi",
     score: 0
    }
],

在一個(gè)表單中,select標(biāo)簽綁定了items.name,對應(yīng)的輸入框綁定了變化值changingScore
當(dāng)在select下拉菜單中選中了name為"zhangsan",提交之后,
如何將changingScore加到items[0].score中呢?

最好是能不用for循環(huán),因?yàn)閿?shù)組里面的數(shù)據(jù)可能會(huì)很多

回答
編輯回答
久舊酒

那你可以保存當(dāng)前選中的index值再一個(gè)隱藏input[id="selectIndex"]中,select選中時(shí),存儲(chǔ)選中的index到改隱藏input中,然后提交時(shí),直接通過index,設(shè)置

// 選中時(shí)的處理
document.querySelector("#selectIndex").value = 當(dāng)前選中的index的值;
let index = parseInt(document.querySelector("#selectIndex"));
items[index].score = changingScore;

或者存儲(chǔ)選中值到localStorage或sessionStorage中都可以,思路就是存儲(chǔ)、更新維護(hù)一個(gè)index值;

2017年7月24日 10:04