jQuery - 从另一个更新一个文本输入(我不知道ID)

时间:2016-08-04 14:57:05

标签: php jquery

在下面,当用户更改资产标签时,我希望他们输入的内容被添加到左侧字段的末尾(主机名)当且仅当主机名当前具有以'结尾的值时 - ”。

此外,我不知道确切的ID或名称或这两个输入中的任何一个,因为它们是在PHP中生成的,如下所示:

<input type="text" name="hostname-<?=$t;?>" class="form-control" id="hostname-<?=$t;?>">

<input type="text" name="asset-tag-<?=$t;?>" class="form-control" id="asset-tag-<?=$t;?>">

isdigit

我怎样才能做到这一点?

编辑 - 我最终用这段代码实现了我想要的东西(因为资产标签和主机名总是分享最后一位数字:

  $("[name^='asset-tag']").on("change", function () {
      var host = $(this).attr('name');
      var hostname = $('#hostname-' + host.substr(host.lastIndexOf("-") + 1));
      var host = hostname.val();
      if (host.slice(-1) == "-") {
        hostname.val(host = host + $(this).val());
     }
  });

1 个答案:

答案 0 :(得分:2)

基本上你需要:

$("[name^='asset-tag']").on("change", function () {
     var $host = $(this).prev("[name^='hostname']");
     if ($host.val().substr($host.val().length-1) == "-") {
        $host.val($host.val()+$(this).val());
     }
});

[name^=表示&#34; name属性以&#34;。

开头

注意:这假定主机是最接近的元素,其名称以hostname开头。