我有一些简单的东西,但是我显然太愚蠢了。
我在HTML中有两个输入。第一是公司,第二是股份。我正在与公司一起创建UL。要做的是,当我输入阵列中已经存在的公司名称时,我只想更新该公司的股份。我将分享到目前为止的代码。
<body>
<form>
<input id="company" placeholder="Company" type="text" />
<input id="input" placeholder="Shares" type="number" />
<button id="btn">Add</button>
</form>
<ul id="content"></ul>
</body>
JavaScript代码在这里:
const button = document.getElementById("btn");
const content = document.getElementById("content");
let companiesArray = [];
function myCompany(e) {
e.preventDefault();
const inputShares = document.getElementById("input").value;
const inputCompany = document.getElementById("company").value;
let obj = {
company: inputCompany,
shares: inputShares,
};
for (const item of companiesArray) {
if (item.company === obj.company) {
//TO DO
console.log("Match");
return;
}
}
const li = document.createElement("li");
content.appendChild(li).textContent = `${obj.company} - ${obj.shares}`;
companiesArray = [...companiesArray, obj];
console.log(companiesArray);
}
button.addEventListener("click", myCompany);
同样,当我输入一个唯一的公司=>在ul中创建了li。如果我进入同一家公司,我只想更新股份而不添加新的权限。
答案 0 :(得分:0)
if (item.company === obj.company) {
//TO DO
const list = document.getElementsByTagName('li')
const element = [...list].filter((item) => item.innerText.split(" ")[0] === obj.company)[0]
element.innerText = `${obj.company} - ${obj.shares}`
console.log("Match");
return;
}
希望这会有所帮助:)