我有一个带有价格的产品列表,在产品名之前有一个复选框。我想要的是,当我选中一个复选框时,价格必须显示在表格中。
产品是通过一个循环从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));
});
但那没有用,所以我希望有人能帮助我。
提前感谢!
您可以使用: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() : '');
});
你可以在这里看到它的作用