我有一个PHP页面,该页面在搜索功能中生成不同的发票,并且每个发票都有一个表,当用户单击按钮(通过JavaScript)时会显示该表。问题是如何向JavaScript发送特定的按钮ID。到目前为止,这是我的代码。
echo '<input type="submit" onclick="newDisplay()" style="padding: 5px;width: 90px;" value="Add Receipt">';
和
$idName = 'myForm' . $job['id'];
echo '<table style="display:none;width:100%;" id="' . $idName . '">';
然后JavaScript是:
function newDisplay() {
document.getElementById('<?php echo $idName; ?>').style.display = 'block';
}
如果为每个发票生成一个按钮,是否可以发送元素ID和发票ID,以便仅显示一个特定表?我可以将作业ID连接到myForm,但是如何使用JavaScript进行检查?
编辑:我尝试了串联,但是JavaScript拾取了最后一个。
答案 0 :(得分:0)
您可以这样做
echo '<input type="submit" id="' . $id .'" data="" onclick="newDisplay(this.id)" style="padding: 5px;width: 90px;" value="Add Receipt">';
在javascript
function newDisplay(id) {
//doanything with the id
document.getElementById('myForm').style.display = 'block';
}
您还可以访问要在js中发送的任何其他属性,例如
function newDisplay(id) {
let my_attr=$("#"+id).attr("data");
//doanything with the id
document.getElementById('myForm').style.display = 'block';
}
如果您的ID是数字,则可能需要在其之前附加任何字母或单词,例如
echo '<input type="submit" id="my_' . $id .'" data="" onclick="newDisplay(this.id)" style="padding: 5px;width: 90px;" value="Add Receipt">';
然后在js中,您可以像这样访问ID
function newDisplay(id) {
var myid=id.split("_");
//doanything with the myid[1]
document.getElementById('myForm').style.display = 'block';
}