Javascript 多值调用

Javascript Multiple Value Call

本文关键字:值调用 Javascript      更新时间:2023-09-26

我正在从输入单选按钮调用一个函数,并具有以下内容:

onClick='"changeBilling('".$results['id']."', this.value)'"

但是我的 this.value 无法正常工作。当我在页面中查找它时,id 正确填充,但第二个值仍然显示 this.value,而不是调用函数的按钮的值。

我在浏览器元素管理器中看到了这一点:

onclick="changeBilling('149', this.value)"

我做错了什么?

单选按钮:

<input type='radio' name='billed' value='Yes' onClick='"changeBilling('".$results['id']."', this.value)'"/> Yes<br /><input type='radio' name='billed' value='No' onClick='"changebilling('".$results['id']."', this.value)'" checked/> No

理想输出:

onclick="changeBilling('149', 'Yes')"

this.value将由客户端评估,作为其 javascrpt,因此您不会从 PHP 中看到其中的"烘焙"值,您需要在运行时检查这一点,最好的选择是提醒 this.value 的值并检查它是否是您所期望的,因为这是将传递给changeBilling

onClick='"alert('The value is: '+this.value)'"

您可能会遇到的问题是,this可能没有评估到您期望的东西,找出(如果您有像元素检查器(chrome)或Firebug(Firefox))这样的良好调试器)将放置:

 onClick='"console.log(this)'"

为什么不直接输出 PHP 中的文字值:

echo "<input type='radio' name='billed' value='Yes' onClick='"changeBilling('".$results['id']."', 'Yes')'"/> Yes<br /><input type='radio' name='billed' value='No' onClick='"changebilling('".$results['id']."', 'No')'" checked/> No";

编辑

我不完全确定你期望会发生什么,但你编写的代码似乎没有任何问题。 为了证明这一点,请参阅这个JSFiddle,它显示了this.value是如何工作的(请注意,这与PHP无关)。