使用动态ID选择更改后插入输入文本

时间:2017-04-07 15:58:38

标签: jquery

过去两天我一直在寻找这方面的答案,但似乎没有什么可以坚持下去。

我有一个动态创建输入的表单,其中id通常由param名称和每个员工的ID组成。

我想在更改持续时间选择后在文本输入字段中插入日期字符串。该页面导入了jquery-1.12.4.js。

这是我最接近的......没有错误,但没有任何反应。 fiddle here

  <td width="200px">
      <select name="1-duration" id="duration-1">
        <option value="">Select</option>
        <option value=".5">.5 hr</option>
        <option value="1">1 hr</option>
        <option value="1.5">1.5 hrs</option>
        <option value="2">2 hrs</option>
        <option value="2.5">2.5 hrs</option>
        <option value="3">3 hrs</option>
        <option value="3.5">3.5 hrs</option>
        <option value="4">4 hrs</option>
      </select>
    </td>
    <td width="200px"><input type="text" name="1-promDate" value="" id="promDate-1">
     <script type="text/javascript">
        var employeeID = "1";
        var selectID = "duration-" + employeeID;
        var textID = "promDate-" + employeeID;
        var displayDate = "04/08/2017";
        $("#selectID").change(function(){
          $("#textID").val('displayDate');
        });
      </script>
    </td>

2 个答案:

答案 0 :(得分:0)

你的jids选择器中的id是错误的:“#optID”应该是“#duration-1”而“#textID”应该是“#promDate-1”。那么接下来的问题是你把字符串displayDate放在你的输入中,你可能想把变量displayDate,你需要删除'周围的displayDate

答案 1 :(得分:0)

玩小提琴,将js改为

    var employeeID = "1";
    var selectID = "#duration-" + employeeID;
    var textID = "#promDate-" + employeeID;
    var displayDate = "04/08/2017";
    $(selectID).change(function(){
      $(textID).val(displayDate);
    });

现在它适用于小提琴,但不是我的形式。我正在为此表单中的日期选择器导入jquery-1.12.4.js和1.12.1 / jquery-ui.js。这可以解释断开吗?