如何在下拉菜单中隐藏php echo?

时间:2012-08-28 06:19:27

标签: php select option

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

1 个答案:

答案 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()

时,它会导致您出现问题