Меня интересует получение $option_value['price'] в строке из раскрывающегося списка, а не . Использование .value возвращает более позднее.
У меня есть меню выбора, созданные в цикле foreach(). Выпадающие списки будут содержать варианты цен. Я пытаюсь дать каждому продукту собственный идентификатор, поэтому я могу использовать функцию javascript onChange() для обновления цен на экране.
Тег выбора выглядит следующим образом:
<select name="option[<?php echo $option['product_option_id']; ?>]" class="select_options" id="select_<?php echo $product['product_id']; ?>" onchange="getIt(this);">
и джаваскрипт:
function getIt(el) {
var id = el.id;
a = document.getElementById(id).text;
alert(a);
}
Оповещение об идентификаторе дает мне номер select_some. Итак, я вижу, что он получает идентификатор. но предупреждение a дает мне [object HTMLSelectElement].
поэтому я попытался
alert(a.options.selectedIndex.value);
и стать неопознанным.
<?php if ($product['options']) { ?>
<div class="options" id="option_<?php echo $product['product_id']; ?>">
<?php foreach ($product['options'] as $option) { ?>
<?php if ($option['type'] == 'select') { ?>
<div id="option-<?php echo $option['product_option_id']; ?>" class="option select_option">
<select name="option[<?php echo $option['product_option_id']; ?>]" class="select_options" id="select_<?php echo $product['product_id']; ?>" onchange="getIt(this);">
<option value=""><?php echo $text_select; ?></option>
<?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 str_replace('.00','.',$option_value['price']); ?></span>)
<?php } ?>
</option>
<?php } ?>
</select>
</div>
<?php } ?>