繁体   English   中英

尝试传递对象作为innerHTML函数的参数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM