2013-07-04 69 views
1
<tr> 
    <td> 
     <input type = "checkbox" name = "chk"/> 
    </td> 
    <td> 
     <select name = "foo"> 
      <option value = "1">One</option> 
      <option value = "2">Two</option> 
     </select> 
    </td> 
    <td> 
     <select name = "bar"> 
      <option value = "1">One</option> 
      <option value = "2">Two</option> 
     </select> 
    </td> 
</tr> 

<tr> 
    <td> 
     <input type = "checkbox" name = "chk"/> 
    </td> 
    <td> 
     <select name = "foo"> 
      <option value = "1">One</option> 
      <option value = "2">Two</option> 
     </select> 
    </td> 
    <td> 
     <select name = "bar"> 
      <option value = "1">One</option> 
      <option value = "2">Two</option> 
     </select> 
    </td> 
</tr> 

我想克隆具有選中項目的行,其複選框被選中。複製複選框選擇的行的選定值

我正在使用它,但它只是複製文本字段而不是選定的項目。

lastRow = $('#dataTable tr').has('input:checked').html(); 
$('#dataTable tr:last').after('<tr>'+lastRow+'</tr>'); 
$('#dataTable tr:last').find('select').each(function() 
{ 
    var this_select=$(this); 
    this_select.val(this_select.closest('tr').prev().find('td:eq('+this_select.closest('td').index()+')').find('select').val()); 
}); 

回答

3

試着這麼做

var srcrow = $('#dataTable tr').has('input:checked'); 
var lastRow = srcrow.clone(); 

lastRow.find('select').each(function(idx, el){ 
    var $el = $(el); 
    $el.val(srcrow.find('select').eq(idx).val()) 
}); 

$('#dataTable tr:last').after(lastRow); 

演示:Fiddle

有點複雜,執行該多支持選中的項目

演示:Fiddle

+0

感謝。它工作:) –

+0

@Arun P Johny:我如何將選定行的各個列值存儲到不同的變量中。 – mustangDC