无法在Javascript中向函数发送参数

时间:2013-12-14 20:09:07

标签: javascript

我写了一个函数来计算某些书籍的价格(在列表中选择) 但它无法正常工作。

function priceCal(bookid,price){    
   if (document.getElementById(bookid).checked) {
        document.getElementById('price').innerHTML=parseInt(document.getElementById("price").innerHTML)+price;
   }
}

我在一本书中称之为考试:

<input 
  type="checkbox" 
  name="bookList" 
  value="book3" 
  id="bookList_3"  
  onChange="priceCal('bookList_3','50');"
>

但它什么都没做!发送参数有什么问题?!价格是<p>标签,其值为0(默认为

2 个答案:

答案 0 :(得分:0)

某些浏览器仅在输入失去焦点时触发change事件。请改用click事件。另外,为确保您的代码按预期工作,请始终将radix参数传递给parseInt函数(默认情况下,所有浏览器中都不是10)。

您还应该避免将price作为字符串传递。只需将其作为数字传递。

var someNum = parseInt('888', 10);

答案 1 :(得分:0)

如果您在输入中编辑某些内容然后将其模糊,或按Enter键,则仅会触发更改事件。在函数的开头放置一个console.log来检查它是否完全进入该函数。否则你可以听到keydown或模糊事件等。