在onClick标记中应用两个函数参数

时间:2015-04-06 21:02:40

标签: javascript jquery onclick arguments

为了在我的页面框架上打印一组数据,我创建了一个javascript function,将其设置为onClick标记上的a。但是,该功能只是在点击打印时只获得一个参数,而不是全部。

所以我制作了HTML:

<div id="services">Services available</div>
<div id="products">Products available</div>

和javascript函数(带两个参数):

function Popup(data1, data2) {
  var printWindow = window.open('', 'Page', 'width=600,height=600,left=400');
  printWindow.document.write(data1);
  printWindow.document.write(data2);

  return true;
}

function PrintElem(elem1, elem2) {
  Popup($(elem1, elem2).html());
}

设置a标记被点击并打开弹出窗口。窗口打开,服务可用,但产品不显示并输出undefined

<a onClick="PrintElem('#services, #products')">Print page</a>

如何让函数读取两个ID?

1 个答案:

答案 0 :(得分:6)

你传递了一个而不是两个参数

"PrintElem('#services, #products')"

日志记录console.log(elem1);会显示字符串"#services, #products"

应该是

"PrintElem('#services', '#products')"

下一个问题是

Popup($(elem1, elem2).html());

使用elem2作为上下文选择器,它没有查找两个元素的html。你的函数期望两个参数,所以将它传递给html字符串

function PrintElem(elem1, elem2) {
  Popup($(elem1).html(), $(elem2).html());
}