这是此链接的后续问题。 How can I return the data in select option
我发现这个问题的答案是有效的。如果您尝试一次编辑一行,程序运行正常。但是,我尝试在编辑模式下创建第一行,在编辑时尝试另一行。如果我将性别从男性更改并保存到女性,并且第一行仍具有值Male,则该行的保存值仍为男性。希望这看起来不那么复杂。这是问题答案的小提琴如何在select选项中返回数据。 http://jsfiddle.net/srvikram13/te2wF/35/
function Save() {
var value3 = $(".gender").attr('value');
var par = $(this).parent().parent();
var tdName = par.children("td:nth-child(1)");
var tdAge = par.children("td:nth-child(2)");
var tdGender = par.children("td:nth-child(3)");
var tdButtons = par.children("td:nth-child(4)");
tdName.html(tdName.children("input[type=text]").val());
tdAge.html(tdAge.children("input[type=text]").val());
tdGender.html(value3);
tdButtons.html("<input type='button' value='Edit' class='btnEdit'/><input type ='button' value='Delete' class='btnDelete'/>");
$(".btnSave").bind("click", Save);
$(".btnDelete").bind("click", Delete);
};
答案 0 :(得分:0)
您总是在当前行中读取第一个选择元素的值,而不是性别
tdGender.html(tdGender.children('select').val());
演示:Fiddle
注意:要从后代元素而不是$(this).parent().parent()
获取tr元素,请使用var par = $(this).closest('tr')