我必须制作一个html页面,我可以从列表中选择一个随机的人(这是我的课程)。
我这样做了,但是现在我有了标记,忽略了随机选择器中缺席的人。
就像电子注册表一样。
如果单击该按钮,则应从列表中删除该名称并禁用该按钮。
我的问题是我无法从列表中删除特定元素。
那会是这样的:
不删除字符串数,而不是删除与按钮含义相同的实际字符串。
对匈牙利的评论我感到很抱歉,但是它的名字和我的某些疑问对我来说都是这样。
<body>
<h1 align="center"> Random választó MÉG SZAR </h1>
<div align="center">
<div>
<button type="randomEmber" onclick="randomEmber()">Random Ember Kiválasztása</button>
<input name="randomEmber" id="randomEmber" placeholder="Ne írj ide,el fog tűnni"> </input>
</div>
<br />
<br />
<br />
Kik a hiányzók? <!-- ezt csináld meg -->
<br />
<br />
<button onClick="this.disabled = true;Képes();" value="Képes"> Képes </button>
<button onClick="this.disabled = true;Korsós();" value="Korsós"> Korsós </button>
<button onClick="this.disabled = true;Lálóczki();" value="Lálóczki"> Lálóczki </button>
<button onClick="this.disabled = true;Laukó();" value="Laukó"> Laukó </button>
<button onClick="this.disabled = true;Neményi();" value="Neményi"> Neményi </button> <!-- ribait törli -->
<button onClick="this.disabled = true;Pálya();" value="Pálya"> Pálya </button>
<button onClick="this.disabled = true;Panajoth();" value="Panajoth"> Panajoth </button>
<button onClick="this.disabled = true;Prepszl();" value="Prepszl"> Prepszl </button>
<br />
<br />
<button onClick="this.disabled = true;Ribai();" value="Ribai"> Ribai </button> <!-- sipkát törli -->
<button onClick="this.disabled = true;Sipka();" value="Sipka"> Sipka </button> <!-- Sipost törli -->
<button onClick="this.disabled = true;Sipos();" value="Sipos"> Sipos </button> <!-- Stírt törli -->
<button onClick="this.disabled = true;Stír();" value="Stír"> Stír </button> <!-- Szombatit törli -->
<button onClick="this.disabled = true;Szombati();" value="Szombati"> Szombati </button> <!-- Tóthot törli -->
<button onClick="this.disabled = true;Tóth();" value="Tóth"> Tóth </button> <!-- Vasst törli -->
<button onClick="this.disabled = true;Vass();" value="Vass"> Vass </button> <!-- Zsolnait törli -->
<button onClick="this.disabled = true;Zsolnai();" value="Zsolnai"> Zsolnai </button> <!-- ez jo -->
</div>
<br />
<p align="center">Névsor:</p>
<br />
<p id="demo" align="center"></p>
<script>
var ember = Array(
"Képes",
"Korsós",
"Lálóczki",
"Laukó",
"Neményi",
"Pálya",
"Panajoth",
"Prepszl",
"Ribai",
"Sipka",
"Sipos",
"Stír",
"Szombati",
"Tóth",
"Vass",
"Zsolnai"
);
function randomEmber() {
var randomEmber = ember[Math.floor(Math.random() * ember.length)];
document.getElementById('randomEmber').value = randomEmber;
}
document.getElementById("demo").innerHTML = ember;
// nem elegans de jo ez
function Képes() {
ember.shift();
hianyzo.push("Képes");
document.getElementById("demo").innerHTML = ember;
}
function Korsós() {
ember.splice(1,1);
hianyzo.push("Korsós");
document.getElementById("demo").innerHTML = ember;
}
function Lálóczki() {
ember.splice(2,1);
hianyzo.push("Lálóczki");
document.getElementById("demo").innerHTML = ember;
}
function Laukó() {
ember.splice(3,1);
hianyzo.push("Laukó");
document.getElementById("demo").innerHTML = ember;
}
function Neményi() {
ember.splice(4,1);
hianyzo.push("Neményi");
document.getElementById("demo").innerHTML = ember;
}
function Pálya() {
ember.splice(5,1);
hianyzo.push("Pálya");
document.getElementById("demo").innerHTML = ember;
}
function Panajoth() {
ember.splice(6,1);
hianyzo.push("Panajoth");
document.getElementById("demo").innerHTML = ember;
}
function Prepszl() {
ember.splice(7,1);
hianyzo.push("Prepszl");
document.getElementById("demo").innerHTML = ember;
}
function Ribai() {
ember.splice(9,1);
hianyzo.push("Ribai");
document.getElementById("demo").innerHTML = ember;
}
function Sipka() {
ember.splice(10,1);
hianyzo.push("Sipka");
document.getElementById("demo").innerHTML = ember;
}
function Sipos() {
ember.splice(11,1);
hianyzo.push("Sipos");
document.getElementById("demo").innerHTML = ember;
}
function Stír() {
ember.splice(12,1);
hianyzo.push("Stír");
document.getElementById("demo").innerHTML = ember;
}
function Szombati() {
ember.splice(13,1);
hianyzo.push("Szombati");
document.getElementById("demo").innerHTML = ember;
}
function Tóth() {
ember.splice(14,1);
hianyzo.push("Tóth");
document.getElementById("demo").innerHTML = ember;
}
function Vass() {
ember.splice(15,1);
hianyzo.push("Vass");
document.getElementById("demo").innerHTML = ember;
}
function Zsolnai() {
ember.pop();
hianyzo.push("Zsolnai");
document.getElementById("demo").innerHTML = ember;
}
// nem elegans de jo ez
// csinalj minden embernek egay myfunvtion2...t-ot ember.slice(0,x) el
if (randomEmber == null){
alert("Nincs senki ma az órán????");
}
document.getElementById("demo").innerHTML = txt;
// TUDOTT HIBÁK:
// ha nincs egy név se,akk undefiniedet ír ki az input
</script>
<br />
<p align="center"> Hiányzók: </p>
<script>
var hianyzo = Array(
);
document.getElementById("hianyzo").innerHTML = hianyzo;
</script>
</body>
答案 0 :(得分:1)
您的代码向我表明您是个新手,所以我不会对您的代码进行大修。您应该知道,不需要创建单个函数即可从数组中删除单个名称。
您只需一个:
function remove(name) {
ember.splice( ember.indexOf(name), 1);
document.getElementById("demo").innerHTML = ember;
}
通过使用indexOf
,您可以在数组中搜索传入名称的正确索引。
remove('Képes')
以上将在数组中搜索Képes并删除该名称。然后它将在demo
区域中重新创建数组。
在注释中,您还指出需要将删除的用户添加到hianyo
。以下更改将使您能够做到这一点:
function remove(name) {
ember.splice(ember.indexOf(name), 1); //remove from ember
hianyzo.push(name); //add to hianyzo
document.getElementById("demo").innerHTML = ember; // show updated ember
document.getElementById("demo2").innerHTML = hianyzo; // show updated hianyzo
}
在上面的任何时候,只要从ember中删除名称,就将其添加到hianyzo,然后显示两个数组的更改。
除此更改外,我还更新了您的随机函数:
function randomEmber() {
if(ember.length === 0) { alert("Nincs senki ma az órán????"); return; }
//if the array is empty, alert the user and stop.
// otherwise...
var e = ember[Math.floor(Math.random() * ember.length)]; //get random user
document.getElementById("randomEmber").value = e; //show random user
}
以上内容仅检查您是否已删除所有同学。如果有,它将提醒用户并停止该功能的继续。这样可以防止undefined
出现在您的randomEmber
框中。
var ember = Array("Képes", "Korsós", "Lálóczki", "Laukó", "Neményi", "Pálya", "Panajoth", "Prepszl", "Ribai", "Sipka", "Sipos", "Stír", "Szombati", "Tóth", "Vass", "Zsolnai"), hianyzo = [];
function randomEmber() {
if(ember.length === 0) { alert("Nincs senki ma az órán????"); return; } //if the array is empty, alert the user and stop.
var e = ember[Math.floor(Math.random() * ember.length)]; //get random user
document.getElementById("randomEmber").value = e; //show random user
}
function remove(name) {
ember.splice(ember.indexOf(name), 1); //remove from ember
hianyzo.push(name); //add to hianyzo
document.getElementById("demo").innerHTML = ember; // show updated ember
document.getElementById("demo2").innerHTML = hianyzo; // show updated hianyzo
}
document.getElementById("demo2").innerHTML = hianyzo; // show initial hianyzo
document.getElementById("demo").innerHTML = ember; //show initial ember
<h1 align="center"> Random választó MÉG SZAR </h1>
<div align="center">
<div>
<button type="randomEmber" onclick="randomEmber()">Random Ember Kiválasztása</button>
<input name="randomEmber" id="randomEmber" placeholder="Ne írj ide,el fog tűnni"> </input>
</div>
<br />
<br />
<br /> Kik a hiányzók?
<!-- ezt csináld meg -->
<br />
<br />
<button onClick="this.disabled = true;remove('Képes');" value="Képes"> Képes </button>
<button onClick="this.disabled = true;remove('Korsós');" value="Korsós"> Korsós </button>
<button onClick="this.disabled = true;remove('Lálóczki');" value="Lálóczki"> Lálóczki </button>
<button onClick="this.disabled = true;remove('Laukó');" value="Laukó"> Laukó </button>
<button onClick="this.disabled = true;remove('Neményi');" value="Neményi"> Neményi </button>
<!-- ribait törli -->
<button onClick="this.disabled = true;remove('Pálya');" value="Pálya"> Pálya </button>
<button onClick="this.disabled = true;remove('Panajoth');" value="Panajoth"> Panajoth </button>
<button onClick="this.disabled = true;remove('Prepszl');" value="Prepszl"> Prepszl </button>
<br />
<br />
<button onClick="this.disabled = true;remove('Ribai');" value="Ribai"> Ribai </button>
<!-- sipkát törli -->
<button onClick="this.disabled = true;remove('Sipka');" value="Sipka"> Sipka </button>
<!-- Sipost törli -->
<button onClick="this.disabled = true;remove('Sipos');" value="Sipos"> Sipos </button>
<!-- Stírt törli -->
<button onClick="this.disabled = true;remove('Stír');" value="Stír"> Stír </button>
<!-- Szombatit törli -->
<button onClick="this.disabled = true;remove('Szombati');" value="Szombati"> Szombati </button>
<!-- Tóthot törli -->
<button onClick="this.disabled = true;remove('Tóth');" value="Tóth"> Tóth </button>
<!-- Vasst törli -->
<button onClick="this.disabled = true;remove('Vass');" value="Vass"> Vass </button>
<!-- Zsolnait törli -->
<button onClick="this.disabled = true;remove('Zsolnai');" value="Zsolnai"> Zsolnai </button>
<!-- ez jo -->
</div>
<br />
<p align="center">Névsor:</p>
<br />
<p id="demo" align="center"></p>
<br />
<p align="center"> Hiányzók: </p>
<p id="demo2"></p>