gpt4 book ai didi

选择菜单的 Javascript 函数在某些浏览器中无法按预期工作

转载 作者:行者123 更新时间:2023-12-03 11:50:38 24 4
gpt4 key购买 nike

我尝试编写一个函数,当我从下拉菜单中选择预定义数组中的元素时,该函数将填充这些空间。这里的代码仅适用于 Firefox,但不适用于其他浏览器(IE 或 Chrome - 我用它们进行了测试)。 A不知道这有什么问题。

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="zadatak2.css"/>

<script type="text/javascript">
var milos=["Milos","Teodosić","Olimpijakos","1987","196cm","20.6","6","8","plejmejker"];
var nenad=["Nenad","Krstić","Oklahoma","1983","212cm","20.4","13.5","8","centar"];
var marko=["Marko","Kešelj","Olimpijakos","1988","207cm","11.1","3","1","krilo"];

function set(a) {
for (i=0, o=1; i<8; i++, o++) {
document.getElementById('b'+o).value=a[i];
}

document.getElementById('plejmejker').checked = false;
document.getElementById('centar').checked = false;
document.getElementById('bek').checked = false;
document.getElementById('krilo').checked = false;
document.getElementById(a[8]).checked = true;
}
</script>

<title>Zadatak</title>
</head>
<body>
<div id="titles">
<img class="logo" src="slike\kss_logo.png"/>
<h1>Košarkaška reprezentacija Srbije</h1>
</div>
<div id="side">
<h3>Reprezentacije</h3>
<ul>
<li>
Grupa A
<ul>
<li>Srbija</li>
<li>Argentina</li>
</ul>
</li>
<li>
Grupa B
<ul>
<li>SAD</li>
<li>Slovenija</li>
</ul>
</li>
<li>
Grupa C
<ul>
<li>Turska</li>
<li>Grčka</li>
</ul>
</li>
<li>
Grupa D
<ul>
<li>Litvanija</li>
<li>Španija</li>
<li>Francuska</li>
</ul>
</li>
</ul>

<img class="logo" src="slike\bbcup_logo.jpg"/>
</div>

<div id="main">
<form action="#" method="post">
<div class="kosarkas">
<label>Odaberite košarkaša: </label>
<select id="player">
<option value="milos" onmousedown="set(milos)">Miloš Teodosić</option>
<option value="nenad" onmousedown="set(nenad)">Nenad Krstić</option>
<option value="marko" onmousedown="set(marko)">Marko Kešelj</option>
</select>
<h2>Podaci o košarkašu:</h2>
</div>

<div id="formleft">
<label class="label">Ime:</label>
<input type="text" id="b1"/><br />

<label class="label">Rođen:</label>
<input type="text" id="b4"/><br />

<label class="label">Visina:</label>
<input type="text" id="b5"/><br />

<label class="label">Skokova:</label>
<input type="text" id="b7"/><br />
</div>

<div id="formright">
<label class="label">Prezime:</label>
<input type="text" id="b2"/><br />

<label class="label">Klub:</label>
<input type="text" id="b3"/><br />

<label class="label" style="margin-top:-5%">pozicija:</label>
<div id="dropdown">
<input type="radio" id="plejmejker"/>plejmejker<br />
<input type="radio" id="bek"/>bek<br />
<input type="radio" id="krilo"/>krilo<br />
<input type="radio" id="centar"/>centar<br/>
</div>

<label class="label">Asistencija:</label>
<input type="text" id="b8"/><br />
</div>

<div class="kosarkas">
<label class="label">Prosek poena: </label>
<input type="text" id="b6"/><br />
</div>
</form>
<p id="footer">Svjetsko prvenstvo u košarci, septembar 2014</p>
</div>
</body>
</html>

最佳答案

我认为问题出在 onmousedown 事件中 - 我认为它不能在所有浏览器中可靠地触发 option 元素。尝试将您的选择更改为:

<select id="player" onchange="set(this.options[this.selectedIndex].value)">
<option value="milos">Miloš Teodosić</option>
<option value="nenad">Nenad Krstić</option>
<option value="marko">Marko Kešelj</option>
</select>

您还需要稍微更改您的 set 函数,因为它当前期望传入对象,而不是字符串值:

function set(player) {
var a;
switch(player) {
case 'milos':
a = milos;
break;
case 'nenad':
a = nenad;
break;
case 'marko':
a = marko;
break;
}
for (i=0, o=1; i<8; i++, o++) {
document.getElementById('b'+o).value=a[i];
}

document.getElementById('plejmejker').checked = false;
document.getElementById('centar').checked = false;
document.getElementById('bek').checked = false;
document.getElementById('krilo').checked = false;
document.getElementById(a[8]).checked = true;
}

关于选择菜单的 Javascript 函数在某些浏览器中无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25854957/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com