javascript - 如何为简单的 CRUD 应用程序创建编辑功能? - 使用 VANILLA JAVASCRIPT 进行 CRUD 操作

标签 javascript arrays function crud operation

因此,我仅使用 JavaScript 创建了一个简单的 CRUD 应用程序。 现在,您可以将国家/地区添加到数组中并从数组中删除国家/地区。 我希望能够编辑数组中的现有国家/地区,例如我想将“斯德哥尔摩”更改为“西类牙”。

该编辑功能会是什么样子? 下面是我当前的代码,html 和 javascript。

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link href="style.css" type="text/css" rel="stylesheet">
</head>
<body>
    <div class="container">
    <h1>Städer</h1>
    <div id="output"></div>
    <div class="submit">
    <input type="text" id="staden" placeholder="Ny stad"/>
    <button onclick="laggaTill()" id="btnClick">Lägg till</button>
        </div>
    <script src="checkpoint1.js"></script>
    </div>
</body>
</html>

var stader = ["Stockholm", "Köpenhamn", "Paris"];
uppdateraOutput();

function uppdateraOutput(){
   var output = "";
   for (var i = 0; i < stader.length; i ++) {
       output += stader[i] + "[<span title = 'Ta bort " + stader[i] + "' onclick= 'taBort("+ i +")'> x </span>]<br/>";
   }
   document.getElementById("output").innerHTML = output;
}

function laggaTill() {
   console.log("Lägg till");
   var stad = document.getElementById("staden").value;
   if (stad.length != 0) {
       stader[stader.length] = stad;
       document.getElementById("staden").value = "";
       uppdateraOutput();
   }
}

function taBort(id) {
   console.log("Ta bort: " + id);
   var staderTemp = [];
   for (var i = 0; i < stader.length; i++){
       if (i !=id) {
           staderTemp.push(stader[i]);
       }
   }

   stader = staderTemp;
   uppdateraOutput();
}

function edit() {

}

最佳答案

您可以为每个项目添加点击功能,当您点击文本时,它会打开一个提示窗口来更改文本。

我更改了 uppdateraOutput 函数以向文本添加点击功能。

<span onclick='edit("+ i +")'>" + stader[i] + "</span>

就像下面的代码一样。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link href="style.css" type="text/css" rel="stylesheet">
</head>
<body>
    <div class="container">
    <h1>Städer</h1>
    <div id="output"></div>
    <div class="submit">
    <input type="text" id="staden" placeholder="Ny stad"/>
    <button onclick="laggaTill()" id="btnClick">Lägg till</button>
        </div>
    <script src="checkpoint1.js"></script>
    </div>
	
	<script>
	var stader = ["Stockholm", "Köpenhamn", "Paris"];
uppdateraOutput();

function uppdateraOutput(){
   var output = "";
   for (var i = 0; i < stader.length; i ++) {
       output += "<span onclick='edit("+ i +")'>" + stader[i] + "</span> [<span title = 'Ta bort " + stader[i] + "' onclick= 'taBort("+ i +")'> x </span>] <br/>";
   }
   document.getElementById("output").innerHTML = output;
}

function laggaTill() {
   console.log("Lägg till");
   var stad = document.getElementById("staden").value;
   if (stad.length != 0) {
       stader[stader.length] = stad;
       document.getElementById("staden").value = "";
       uppdateraOutput();
   }
}

function taBort(id) {
   console.log("Ta bort: " + id);
   var staderTemp = [];
   for (var i = 0; i < stader.length; i++){
       if (i !=id) {
           staderTemp.push(stader[i]);
       }
   }

   stader = staderTemp;
   uppdateraOutput();
}

function edit(index) {
	var item = prompt("Please enter your name", stader[index]);

	if (item !== null && item !== "") {
		stader[index] = item;
	}	
	uppdateraOutput();
}
	</script>
	
</body>
</html>

关于javascript - 如何为简单的 CRUD 应用程序创建编辑功能? - 使用 VANILLA JAVASCRIPT 进行 CRUD 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59161155/

相关文章:

关于函数的 Javascript 问题 - IIFE

c++ - 关于C++的问题

javascript - Array.from(string) 方法在 Google 脚本中不起作用

c# - 如何用字符串索引声明字符串数组?

node.js - 如何在 Node.js 中的异步函数上正确使用 Promise?

javascript - 如何制作动态函数?

JavaScript 图像旋转

javascript - 使用 d3.js 根据数据值着色 svg 元素

javascript - 我应该如何组织一个对象以尽可能地保持一切分离?

javascript - 将 PNG 图像连接到 APNG 动画图像