【发布时间】:2015-11-12 01:55:14
【问题描述】:
我正在为一家餐馆建立一个网站,并使用 php 和 mysql 在表单中动态构建一个表格来显示每个菜单项。每行都有一个数量输入,然后是项目和描述等,并以“添加到订单”按钮结束。我需要做的是当按下按钮时,将项目的数量和 id 发送到会话变量。我已经看到了使用数组作为输入 id 的建议,我猜不知道如何处理它们。
$d=date('N');
$sql2="CALL SP_GET_MENU_ITEM('entree', '$d');";
$result=mysql_query($sql2, $conn2);
if(!$result)
die(mysql_error());
$count=0;
while($row=mysql_fetch_assoc($result)){
$n=$row['itemName'];
$de=$row['description'];
$i=$row['ingredient'];
$p=$row['price'];
$dr=$row['dietRestrict'];
$f=$row['path'];
/*$pic="CALL SP_GET_MENU_IMAGE('$n');";
$picTry=mysql_query($pic, $conn);
$picResult=mysql_fetch_assoc($picTry);
$f=$picTry['path'];*/
print '<tr><td>
<input type="number" min="1" name="quantity" style="width:40px;" /></td>
<td class="itemDes">';
print "<h2>".$n."</h2>";
print "<img src='../admin/menu/".$f."' alt='foodPic'></td>";
print "</td><td><p>description: ".$de."<br>ingredients: ".$i."</td><td>".$dr."</td><td>".$p."</td></p></td><td>
<input type='button' onclick= 'doit()' value='Add to Order' class='btn'/>
}
它现在正确地填充表格,并且当任何按钮被按下时,函数 doit() [只是调用警报] 会正确调用。我在想我必须将变量传递给它,即 <onclick="doit(quantity.value))"> 那么我如何让 quantity.value 工作??
【问题讨论】:
-
试试:
onclick="return doit(document.getElementById("itemID").value());" -
会返回该行的值吗?现在每个数量输入都将具有相同的 id,我认为这会影响它??
-
试试:onclick="doit($( "input[name='quantity']" ).val())” 这应该可行。如果可行,请告诉我。
-
仅供参考,标准规定您永远不应在 html 中重用 id。 ID 的整个想法是成为元素的唯一标识符。如果你想为 css 重用一个 ID,你需要使用 class 属性来代替。
-
如果您对 html 元素稍加摆弄,我们可以帮助您更好地解决问题。
标签: javascript php jquery mysql