[英]Trying to pass in an object as a parameter for an innerHTML function
我正在尝试使用基于几个不同对象选择的信息来填充多个表单元innerHTML。 我目前有多种功能,每种选择一种:
<input onClick="firstChoice();" type="radio" id="first-choice">
<input onClick="secondChoice();" type="radio" id="second-choice">
<tr>
<td>A</td>
<td id="aCell">xx</td>
</tr>
<tr>
<td>B</td>
<td id="bCell">xx</td>
</tr>
<script>
function Foo(a, b) {
this.a = a;
this.b = b;
}
first = new Foo(42, 8);
second = new Foo(100, 4);
var aCell = document.getElementById("first-choice");
var bCell = document.getElementById("second-choice");
function firstChoice() {
aCell.innerHTML = first.a;
bCell.innerHTML = first.b;
}
function secondChoice() {
aCell.innerHTML = second.a;
bCell.innerHTML = second.b;
}
</script>
目前,这是可行的,但我确定必须有一种使用单个函数并将对象作为参数传递的方法,而不是为每个对象都具有一个函数,但是我对javascript非常缺乏经验,似乎无法在任何地方找到答案,反复试验花了我几个小时。 我正在寻找一些可能符合以下条件的东西:
function choice(choicePicked) {
aCell.innerHTML = choicePicked.a;
bCell.innerHTML = choicePicked.b;
}
或者,也许有一种完全不同的方式来完成任务-一切帮助将不胜感激!
您在正确的轨道上:
function choice(choicePicked) {
aCell.innerHTML = choicePicked.a;
bCell.innerHTML = choicePicked.b;
}
您只需要像这样更改事件处理程序:
<input onClick="choice(first);" type="radio" id="first-choice">
<input onClick="choice(second);" type="radio" id="second-choice">
这样,您就可以将所需的对象传递给choice
函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.