我需要在事件模糊()发生时从id = b-0中的id = a-0复制文本,如果他们在a-1中输入某些内容则相同,那么它应该将文本复制到c-1。但由于我有很多行(a-x),我不能使用id作为触发器。
因此,对于a-#输入的模糊,每个b-#和c-#输入获得相应的a- #input
的相同值。每个TR标记代表一行。
<table>
<tr>
<td><input class="abc" id="a-0" value="test"></td>
<td><input class="abc" id="b-0"></td>
<td><input class="abc" id="c-0"></td>
</tr>
<tr>
<td><input class="abc" id="a-1"></td>
<td><input class="abc" id="b-1"></td>
<td><input class="abc" id="c-1"></td>
</tr>
</table>
我有以下代码,所以我有id的值,但我怎样才能将它复制到id = b-x
$('.abc').blur(function(){
$('#' + this.id).val()
})
答案 0 :(得分:1)
$('.abc').blur(function () {
$(this).parent().nextAll().find('input').val($(this).val())
})
<强> jsFiddle example 强>
答案 1 :(得分:0)
我建议分析id
。
这是一个有效的例子:
$('.abc').blur(function(event){
var sourceId = this.id;
var index = sourceId.replace(/[^0-9]/g, '');
var targetId = 'b-' + index;
var value = $(this).val();
$('#' + targetId).val(value);
});
这样一个正确形成的id,你也可以分割和分析索引号以及字母。
您还可以考虑使用<input data-index="1" id="something" ...>
等免费属性。然后,在回调中,直接将数据索引作为数字$(this).prop('data-index')
获取。 data-index
不必是唯一的,这是您的优势。