首页 文章

编辑Select选项遵循第一行中Select选项的值

提问于
浏览
0

这是此链接的后续问题 . 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);

    };

1 回答

  • 0

    您始终在当前行中读取具有类性别而非性别的第一个选择元素的值

    tdGender.html(tdGender.children('select').val());
    

    演示:Fiddle

    注意:从后代元素中获取tr元素而不是 $(this).parent().parent() 使用 var par = $(this).closest('tr')

相关问题