javascript - 从下拉数据属性获取值并将其传递到输入字段

标签 javascript jquery html

我正在尝试将存储在多个下拉列表中的值传递到选择时的相关输入字段。我已经让它在一定程度上工作,但当输入字段和选择下拉菜单不在位于父 div 下时,我无法让它工作。

当前工作代码

$(document).ready(function() {
  $('.select2').select2();
});

$(document).ready(function() {
  $('select.material-price').change(function() {
    var materialValue = $(this).select2().find(":selected").data("price");
    $(this).parent('.row').find('.material-total').val(materialValue);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
  <div class="row">
    <select class="material-price select2">
        <option value="100" value="10">Material A</option>
        <option data-price="400" value="20>">Material B</option>
        <option data-price="500" value="30">Material C</option>
    </select>
    <input type="text" class="material-total" readonly />
  </div>
</div>

我正在尝试修复的代码

<div class="row">
  <div class='col-md-2 nopadding'>
    <div class='form-group nomarg'>
      <select class="material-pricex select2">
        <option data-price="100" value="10">Material A</option>
        <option data-price="400" value="20>">Material B</option>
        <option data-price="500" value="30">Material C</option>
      </select>
    </div>
  </div>

  <div class='col-md-1 nopadding'>
    <div class='form-group nomarg'>
       <input type='number' id="total" name="total" min='0' class='form-control'>
    </div>
  </div>     
</div>

如何获取在 material-pricex 上选择的数据价格值并将其传递到“总计”输入字段?

最佳答案

您的植入问题是使用 .parent()它仅针对所选元素的直接父元素,因此您的代码不起作用。

您可以使用.closest()/.parents()遍历到共同祖先然后使用 .find()以定位所需的元素。

$(this).closest('.row').find('.material-total').val(materialValue);

关于javascript - 从下拉数据属性获取值并将其传递到输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47016454/

相关文章:

javascript - 仅当表单字段有效并已填写时才显示模式框 - JQuery

Firefox 插件中的 Javascript : Delay in for loop

javascript - 从 MySQL 加载数据到 Highchart 并以适当的方式显示

javascript - 水平滚动容器内的垂直滚动 div

javascript - 下划线JS,查找包含数组中值的对象

javascript - 如何在 Javascript 中选中多个复选框

html - 在 CSS 网格中对齐表单标签?

javascript - 根据级别数组协调两个范围输入

python - 在 Django 中检索图像

javascript - 当用户单击菜单中的元素时,jQuery 不会消失?