我有一个下拉框,显示物品的重量以及较重物品的额外费用。我还有javascript根据下拉列表中选择的值更新页面上的价格。由于javascript更新了页面上显示的价格,我想删除选项选项旁边显示的额外价格。
代码是:
<?php if ($options) { ?>
<?php foreach ($options as $option) { ?>
<?php if ($option['type'] == 'select') { ?>
<span id="option-<?php echo $option['product_option_id']; ?>" class="option">
<select name="option[<?php echo $option['product_option_id']; ?>]">
<?php foreach ($option['option_value'] as $option_value) { ?>
<option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
<?php if ($option_value['price']) { ?>
(<?php echo $option_value['price_prefix']; ?><span id="newPrice"><?php echo $option_value['price']; ?></span>)
<?php } ?>
</option>
<?php } ?>
</select>
</span>
我只想在下拉列表中显示product_option_id,我不想显示增加的附加价格;我不希望这部分代码可见:
<?php if ($option_value['price']) { ?>
(<?php echo $option_value['price_prefix']; ?><span id="newPrice"><?php echo $option_value['price']; ?></span>)
<?php } ?>
然而,我有一些javascript根据$ option_value ['price']更新价格。所以我不能删除它。
有没有办法让输出不会回显到屏幕上,但仍然可以让javascript找到它?
答案 0 :(得分:0)
是:
<?php if ($option_value['price']) { ?>
(<?php echo $option_value['price_prefix']; ?><span style="display:none" id="newPrice"><?php echo $option_value['price']; ?></span>)
<?php } ?>
此外,您应该考虑不在该范围内使用ID,除非您为每个范围生成唯一ID,因为当您尝试使用document.getElementById()
时,它会导致您出现问题