Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP foreach循环,唯一<;选择>;getElementById的id_Php_Javascript_Drop Down Menu_Getelementbyid_Unique Id - Fatal编程技术网

PHP foreach循环,唯一<;选择>;getElementById的id

PHP foreach循环,唯一<;选择>;getElementById的id,php,javascript,drop-down-menu,getelementbyid,unique-id,Php,Javascript,Drop Down Menu,Getelementbyid,Unique Id,我感兴趣的是从下拉列表中获取字符串中的$option_value['price'],而不是。使用.value返回后面的值 我有在foreach()循环中创建的选择菜单。下拉列表将保留价格选项。我试图为每个产品提供自己的id,以便使用javascript onChange()函数更新屏幕上的价格 选择标记如下所示: <select name="option[<?php echo $option['product_option_id']; ?>]" class="select_o

我感兴趣的是从下拉列表中获取字符串中的$option_value['price'],而不是。使用.value返回后面的值

我有在foreach()循环中创建的选择菜单。下拉列表将保留价格选项。我试图为每个产品提供自己的id,以便使用javascript onChange()函数更新屏幕上的价格

选择标记如下所示:

 <select name="option[<?php echo $option['product_option_id']; ?>]" class="select_options" id="select_<?php echo $product['product_id']; ?>" onchange="getIt(this);">
发出id警报会给我一些号码。因此,我可以看到它正在获取id。但是发出警报会给我[object HtmlSelect Element]

所以我试过了

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 } ?>

更改:

  a = document.getElementById(id).text;
致:

这将提醒所选选项的值。

更改:

  a = document.getElementById(id).text;
致:


这将提醒所选选项的值。

尝试此代码,将
document.getElementById(id).value
替换为
document.getElementById(id).text

function getIt(id) {
 a = document.getElementById(id).value;
 alert(a);   
}

尝试此代码,将
document.getElementById(id).value替换为
document.getElementById(id).text

function getIt(id) {
 a = document.getElementById(id).value;
 alert(a);   
}

当你像这样传递这个
getit(this)
你应该像这样编码

function getIt(el) {
var id = el.id;
a = document.getElementById(id).value;
alert(el.value);   //you can directly alert like this
}

当你像这样传递这个
getit(this)
你应该像这样编码

function getIt(el) {
var id = el.id;
a = document.getElementById(id).value;
alert(el.value);   //you can directly alert like this
}
“是否有办法获取下拉列表中显示的文本($xx.xx),而不是值?”

我想这就是你想要的:

function getIt(el) {
   var a = el.options[el.selectedIndex].text;
   alert(a);
}
el.selectedIndex
显然为您提供了当前所选选项的索引,您可以将其用作选项集合的索引,
el.options
,然后获取该选项的
文本。
text
属性属于每个选项,而不属于select

演示:

(请注意,如果未选择任何选项,
selectedIndex
将成为
-1

您根本不需要使用
getElementById()
,因为您已经有了对元素
el
的引用

“是否有办法获取下拉列表中显示的文本($xx.xx),而不是值?”

我想这就是你想要的:

function getIt(el) {
   var a = el.options[el.selectedIndex].text;
   alert(a);
}
el.selectedIndex
显然为您提供了当前所选选项的索引,您可以将其用作选项集合的索引,
el.options
,然后获取该选项的
文本。
text
属性属于每个选项,而不属于select

演示:

(请注意,如果未选择任何选项,
selectedIndex
将成为
-1


您根本不需要使用
getElementById()
,因为您已经有了对元素的引用,
el

显示生成的HTML代码。那么有没有办法获得下拉列表中显示的文本($xx.xx),而不是选项为0,1,2,3的值,…向我们显示生成的HTML代码。那么有没有办法获得下拉列表($xx.xx)上显示的文本,而不是显示选项值的选项为0,1,2,3…的值。。。0、1、2、3等等。我对价格感兴趣:$xx.xx。我以为getElementById().text给出了下拉列表中显示的内容…它显示了选项的值。。。0、1、2、3等等。我对价格感兴趣:$xx.xx。我以为getElementById().text给出了下拉列表中显示的内容…这正是我想要的。。。正确地问这个问题很难,因为我对编码一窍不通。这正是我想要的。。。正确地问这个问题很难,因为我对编码一窍不通。