我在javascript中有一个对象数组。我表中的每一行代表数组中一个对象的大约3个属性。我有一个<input type="text"/>
模糊事件的jquery事件处理程序。我希望能够更新数组中的对象。问题是我不知道哪一行与数组中的哪个对象相关联。
有没有办法可以将每个对象的引用附加到行?我尝试直接将其附加到下面,但是我无法访问attachedObject
当模糊事件被触发时。
var row = table.insertRow(-1);
row.attachedObject = myObject;
这是我的模糊方法,我尝试设置附加对象的title属性的值。不幸的是,在调试时,附加对象显示为未定义,即使它显示在附加到行的方法中。
$(document).on('blur', '.name-cell', function(e) {
var value = $(event.target).val();
var row = $(event.target).closest("tr");
row.attachedObject.title = $(event.target).val();
e.preventDefault(); // to prevent the default action of anchor elements
});
答案 0 :(得分:0)
将对象标识符保存为输入属性或表行属性:
<input type="text" data-target="<obj.id>" ... />
或
<tr data-target="<obj.id>">
这将允许您稍后在模糊处理函数中获取该值:
$(document).on('blur', '.name-cell', function(e) {
var value = $(event.target).val();
var row = $(event.target).closest("tr");
var id = $(row).attr('data-target');
row.attachedObject.title = $(event.target).val();
e.preventDefault(); // to prevent the default action of anchor elements
});