我有一个有价格的产品清单,在产品名称之前我有一个复选框。我想要的是当我选中一个复选框时,价格必须显示在表格中。
产品是通过MySQL循环获取的。
这是我更好观点的代码:
<?
$query = "SELECT upgrades.upgrade_name, upgrades.upgrade_id, upgrades.volgorde, upgrades.price
FROM upgrades
LEFT JOIN upgrades_to_products
ON upgrades.upgrade_id = upgrades_to_products.upgrade_id
WHERE upgrades_to_products.product_id = 20
AND status = 1
ORDER BY upgrades.volgorde";
$sql = mysql_query("$query");
while ($fill = mysql_fetch_array($sql)) {
$upgrade_id = $fill['upgrade_id'];
$upgrade_name = $fill['upgrade_name'];
$price = $fill['price'];
$name = str_replace(' ', '_', $upgrade_name);
$name = strtolower($name);
echo '
<tr class="'.$class.'">
<td>
<input id="'.$name.'" name="'.$name.'" type="checkbox" value="'.$price.'" />
</td>
<td>
<a href="http://www.informer.nl/modules/?ID='.$_GET['ID'].'&upgrade_id='.$upgrade_id.'" target="_blank">'.$upgrade_name.'</a>
<a href="http://www.informer.nl/modules/?ID='.$_GET['ID'].'&upgrade_id='.$upgrade_id.'" target="_blank">
<img src="images/vraag.jpg" border="0" style="margin-left:5px;" />
</a>
</td>
<td align="right">€ '.sprintf('%01.2f', $price).'</td>
<td align="right"><div class="module_value"></div></td>
</tr>';
}
?>
您可以看到第一个<td></td>
之间的复选框。因此,当我选中其中一个复选框时,该值必须显示在<div class="module_value"></div>
。
我试过这样的事情:
$("input[type=checkbox]").click(function() {
var module_price = $("input[type=checkbox]").val();
$(".module_value").text(module_price.toFixed(2));
});
但是没有用,所以我希望有人可以帮助我。
提前致谢!
答案 0 :(得分:2)
您可以使用:checkbox
选择器来访问复选框,而.change()
则是您工作的最佳选择。使用.closest()
,您可以找到父tr
元素,然后您可以从那里找到.module_value
并更改其文本。
$(':checkbox').change(function() {
var $this = $(this),
$tr = $this.closest('tr');
$tr.find('.module_value').text(this.checked ? $this.val() : '');
});
您可以在行动here中看到它。