在下面,当用户更改资产标签时,我希望他们输入的内容被添加到左侧字段的末尾(主机名)当且仅当主机名当前具有以'结尾的值时 - ”。
此外,我不知道确切的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;?>">
我怎样才能做到这一点?
编辑 - 我最终用这段代码实现了我想要的东西(因为资产标签和主机名总是分享最后一位数字:
$("[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());
}
});
答案 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
开头。