我在其功能中动态创建按钮时遇到问题。我已经在 php 中完美地创建了一个表,但我不知道如何使用每个按钮上的函数在 php 代码中创建一个按钮。
Example
ID NAME PRICE ADD
1 STRAW 100 BUTTON 1
2 STRAWRE 300 BUTTON 2
3 STRAWTO 200 BUTTON 3
按钮添加是在 html 表中动态使用循环。当我处理按钮上的单击时,将使用文本框更改ID,名称和价格项,并且每个文本框使用旧文本框具有自动值,按钮1将添加一个按钮左按钮1,或者按钮2或按钮3。
function cetakdata()
{
if(is_array($_SESSION['pembelian']))
{
$total = "";
echo "Here's your chart" . "<br>";
$max = count($_SESSION['pembelian']);
$th1 = "<th>" . "No" . "</th>";
$th2 = "<th>" . "Nama Barang" . "</th>";
$th3 = "<th>" . "Harga Barang" . "</th>";
$th4 = "<th>" . "Jumlah" . "</th>";
$th5 = "<th>" . "Subtotal" . "</th>";
$th6 = "<th>" . "Add Edit" . "</th>";
echo "<table border=1>";
echo "<tr>";
echo $th1 ;
echo $th2;
echo $th3;
echo $th4;
echo $th5;
echo $th6;
echo "</tr>";
for ($indexo = 0; $indexo < $max; $indexo++) {
echo "<tr>";
echo "<td>" . $indexo."</td>";
echo "<td>" . $_SESSION['pembelian'][$indexo]['namabarang']."</td>";
echo "<td>" . $_SESSION['pembelian'][$indexo]['hargabarang']."</td>";
echo "<td>" . $_SESSION['pembelian'][$indexo]['jumlahbarang']."</td>";
echo "<td>" . $_SESSION['pembelian'][$indexo]['subtotal']."</td>";
echo "<td>" .THIS IS HOW I PUT THE BUTTON ON THE FLY DELETE BUTTON."</td>";
$total += $_SESSION['pembelian'][$indexo]['subtotal'];
echo "</tr>";
}
echo "TOTAL BELANJA = ". $total;
echo "</table>";
}else
{
echo "Chart is still Empty";
}
}
这是代码。当按钮创建时,另一个td将变为带有其值的文本框,用户完成编辑后,用户也可以将其保存在添加按钮旁边的保存按钮中,但是当用户点击编辑按钮时会出现保存按钮,如图像上面:
答案 0 :(得分:2)
只需添加上一个td
<button id="1" name="button">BUTTON 1</button>
并使用某些jquery函数执行操作
$(function(){
$('button[name=button]').click(function(){
var id= $(this).attr("id");
//some action here
//ex:
window.location.href="ex.php?id="+id;
//or an ajax fungtion
});
});
噢......可能你可以用这个
<script>
$(function(){
$('button[name=button]').click(function(){
var id= $(this).attr("id");
//some action here
//ex:
window.location.href="ex.php?id="+id;
//or an ajax fungtion
});
});
</script>
<?php
$query = mysql_query("select * from barang");
echo '<table><tr><th>Nama Barang</th><th>Harga Barang</th><th>Stok</th><th>Action</th></tr>';
while($data = mysql_fetch_array($query)){
echo "<tr>
<td>".$data['nama_barang']."</td>
<td>".$data['harga_barang']."</td>
<td>".$data['stok_barang']."</td>
<td><button id=".$data['kode_barang']." name=\"button\">Edit</button></td>
</tr>";
}
echo '<table>';
?>
<强> EDITED 强>
改变了这一点
<td><button id=".$data['kode_barang']." name=\"button\">Edit</button></td>
到
<td><button id=".$data['kode_barang']." name=\"button\" style=\"display:none\">Edit</button><button id=".$data['kode_barang']." name="..$data['kode_barang'].">Edit2</button></td>
并在javascript上添加修改就像这样
$(function(){
$('button[name=button]').click(function(){
var id= $(this).attr("id");
$("button[name="+id+"]").show();
//some action here
//ex:
window.location.href="ex.php?id="+id;
//or an ajax fungtion
});
});
答案 1 :(得分:0)
以下是使用javascript动态创建按钮的示例。
var buttonnode = document.createElement('input');
buttonnode.setAttribute('type','button');
buttonnode.setAttribute('id','ActionButton');
buttonnode.setAttribute('value','DoAction');
buttonnode.onclick = function(){javascriptFunct();};
我对你提出的问题有点困惑,但也许这会有所帮助。您可以将javascript函数设置为然后重定向到服务器上的php文件。