jQuery通过下拉列表更改表行中的文本字段


jQuery change textfield in tablerow by dropdown

我对JS和整个jQuery的东西不是很坚定。

这是我在foreach循环中创建的实际HTML输出:

$('#ProjectOfferPosition0IsystemTypeVariantId').on('change', function () {
    var prices = [];
    prices[1] = 500.00;
    prices[2] = 600.00;
    prices[6] = 1000.00
    var key = $('#ProjectOfferPosition0IsystemTypeVariantId option:selected').val();
    var oldPrice = 800.00;
    $('#ProjectOfferPosition0Price').val(prices[parseInt(key,10)] + oldPrice);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<tr>
  <td><input type="hidden" name="data[ProjectOfferPosition][0][isystem_id]" value="1" id="ProjectOfferPosition0IsystemId"/><input type="hidden" name="data[ProjectOfferPosition][0][count]" value="1" id="ProjectOfferPosition0Count"/>I</td>
  <td><select name="data[ProjectOfferPosition][0][isystem_type_variant_id]" id="ProjectOfferPosition0IsystemTypeVariantId" class="select" required="required">
    <option value="">ohne Variante wählen</option>
    <option value="1">INPUT Basis System Wohnung 60</option>
    <option value="2">INPUT System Wohnung 100</option>
    <option value="6">INPUT System Haus 300</option>
  </select></td>
  <td><input name="data[ProjectOfferPosition][0][price]" step="0.01" type="number" value="800.00" id="ProjectOfferPosition0Price" class="input"/><input type="hidden" name="data[ProjectOfferPosition][0][position]" value="1" id="ProjectOfferPosition0Position"/></td>
</tr>

当我更改下拉列表的值时,我希望更新同一行的文本字段(向现有产品添加选项价格)。问题是,我不知道如何"读取"我在([0]部分)中的哪一行

编辑让它运转起来。仍然但仍然是硬编码的,对多行没有动态响应

感谢您提前提供的帮助

为您的选择提供一个与文本字段相对应的id,例如"select id nr"answers"text id nr"。然后,您可以在更改时检查select字段,只需获取其值并将其应用于具有相同数字id的文本字段。您可以从事件目标的id中获取所需的相应id,该id将在更改时事件对象中获得。

您需要检测更改,获取所选文本,然后将其添加到所需的td.中

$('.js-my-select').on('change', function(){
  var text = $('.js-my-select option:selected').text();
  $('.js-selected').val(text);
});

工作示例:http://jsfiddle.net/q8r4nL5s/