0

我有一个下拉框,显示物品的重量以及较重物品的额外费用。我还有 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 能够找到它?

4

1 回答 1

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 生成唯一 ID,因为当您尝试使用 document.getElementById() 获取它时会导致问题

于 2012-08-28T06:22:25.237 回答