2014-01-23 83 views
0

這是此鏈接的後續問題。 How can I return the data in select option選擇選項的編輯遵循第一行中的選擇選項的值

我發現這個問題的答案是有效的。如果您嘗試一次編輯一行,該程序正常工作。但之後,我嘗試了編輯模式下的第一行,以及編輯中的另一行。如果我將男性的性別從男性更改爲女性,並且第一行的值仍然爲男性,則該行的保存值仍然是男性。希望這看起來不那麼複雜。這裏是問題答案的小提琴如何返回選擇選項中的數據。 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

你總是讀帶班的性別,而不是性別的第一選擇元素的值當前行中

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

演示:Fiddle

注:獲得TR元素從後代元素代替$(this).parent().parent()使用var par = $(this).closest('tr')

+0

感謝您的回答。終於搞定了。 @Arun –

相關問題