如何将PHP中的特定(生成的)变量发送到JavaScript?

时间:2018-12-22 16:56:12

标签: javascript php

我有一个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拾取了最后一个。

1 个答案:

答案 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';
    }