【发布时间】:2020-04-10 11:26:39
【问题描述】:
无法通过 javascript 中的 url post 发布二维对象数组元素的索引。这个想法是通过单击每个数组元素的 REMOVE 选项来删除当前元素并在文档正文上显示刷新的数组。
我的代码在这里:
<div id="result"></div>
<script>
var arr = {
Monday: [
["web programming", "class", "11:50"],
["web programming II", "class", "13:40"],
["programming", "class", "17:50"]
],
Tuesday: [
["web programming I", "class", "10:50"],
["programming II", "class", "15:40"],
["programming", "class", "17:50"]
],
Wednesday: [
["web tech I", "class", "11:50"],
["web programming II", "class", "18:40"],
["functional programming", "class", "17:50"]
],
Thursday: [
["DBMS", "class", "11:50"],
["web tech", "class", "13:40"],
["linear programming", "class", "17:50"]
]
};
disp();
function removeElm(index_no) {
//function removeElm(row_no, index_no){
//console.log(row_no, index_no);
var newarr = arr.Monday.splice(index_no, 1); // Instead of Monday need to put 'ROW' itself
console.log(arr);
disp();
}
function disp() {
var str = "";
for (row in arr) {
str += "<h3>" + row + "</h3><div>";
for (elem in arr[row]) {
str += arr[row][elem] + "</sup><a href=# onClick='return removeElm(" + arr[row].indexOf(arr[row][elem]) + ")'>REMOVE</a>";
//str += arr[row][elem] + "</sup><a href=# onClick='return removeElm(" + arr[row].indexOf(arr[row][elem]) + "," + row + ")'>REMOVE</a>";
}
str += "</div>";
}
document.getElementById('result').innerHTML = str;
}
</script>
【问题讨论】:
-
什么不起作用?
-
它大部分都在工作,但 OP 不想在
Monday函数内的Monday中硬编码。 OP 正在寻找一种从onClick处理程序传递此信息的方法,以便可以删除一周中的任何一天。
标签: javascript arrays object multidimensional-array