簡體   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