繁体   English   中英

根据选择选项更改输入值

[英]change input value depending on select option

我有两个数组,它们的长度相同。 一种用于商品,另一种用于价格。 第一个数组将进入选择选项元素。 通过选择商品,其他数组中的价格应显示在输入字段中。 因此,如果我从选项中选择第二条商品,那么应该将价格数组中的第二个价格加载到输入字段值中。

<?php
 foreach($article as $art){
    $arr_artnr[]     = $art["artnr"];
    $arr_artname[]   = $art["artname"];
    $arr_price[]     = $art["price"];
  }
?>

<select name="art" id="art">
   <?php
     foreach($article as $art){
   ?>
   <option value="<?php echo $art["artnr"];?>"><?php echo $art["artname"] ?></option>
   <?php
     }
   ?>
</select>

<input type="number" name="price" id="price" value="" disabled="disabled" />

我不知道如何获取所选选项元素的数组索引并从价格数组中选择索引。

像这样吗 假设我正确理解了这个问题

document.querySelector("#art").onchange=function() {
  var val = this.options[this.selectedIndex].value;
  document.querySelector("#price").value=val?val.split("|")[1]:"";
}
document.querySelector("#art").onchange(); // initialise
<select name="art" id="art">
<option value="">Please select</option>

<?php
 foreach($article as $art){
?>
   <option value="<?php echo $art["artnr"]."|". $art["price"];?>|"><?php echo $art["artname"] ?></option>
<?php }  ?>
</select>

<input type="number" name="price" id="price" value="" readonly />

jQuery版本

$("#art").on("change",function() {
  var val = this.options[this.selectedIndex].value;
  $("#price").val(val?val.split("|")[1]:"");
}).change(); // initialise

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM