2015-10-21 7 views
2

Я думаю, что я получил строку удаления, но кнопка удаления столбца работает неправильно.Удалить столбец из таблицы css

Здесь код fiddle. Благодарим вас за помощь.

HTML

<br/> 
<button id="css-irow">Row +</button><br/> 
<button id="css-drow">Row -</button><br/> 
<button id="css-icol">Col +</button> 
<button id="css-dcol">Col -</button> 

JQuery

$('#css-irow').click(function(){ 
     $(".ws-css-table-tr:last").clone(false).appendTo('.ws-css-table') 
     .find(".ws-css-table-td").text(""); 
}); 

$('#css-drow').click(function(){ 
    $(".ws-css-table-tr:last-child").remove(); 
}); 


$('#css-icol').click(function(){ 
    $(".ws-css-table-tr").each(function(i, row){ 
     $(".ws-css-table-td:last", row).clone().appendTo(row).text(""); 
    }); 

$('#css-dcol').click(function(){ 
$(".ws-css-table-td:last-child").remove(); 
}); 

CSS

.ws-css-table { 
    display: table; 
} 
.ws-css-table-tr { 
    display: table-row;  
} 
.ws-css-table-td { 
    display: table-cell; 
    border:1px solid #000; 
    width: 15px; 
    height:15px; 
    text-align:center; 
    vertical-align:middle; 
} 
+0

я добавил пример ниже, исправляет проблему рамочный и вопрос, где ваш код не обрабатывает «таблицы» без каких-либо строк или каких-либо клеток. – Eric

ответ

0

Его, потому что у вас есть закрытие перепутались. Удаление столбца внутри столбца добавляется так, чтобы событие клика не было прикреплено, пока вы не добавите столбец.

Fiddle: https://jsfiddle.net/x7865gka/6/

$('#css-icol').click(function() { 
    $(".ws-css-table-tr").each(function (i, row) { 
     $(".ws-css-table-td:last", row).clone().appendTo(row).text(""); 
    }); 
}); 

$('#css-dcol').click(function() { 
    $(".ws-css-table-td:last-child").remove(); 
}); 
+0

Я понятия не имею, что это значит; но он работает. Благодарю. Я буду работать над пониманием этого, чтобы я мог сделать это сам в будущем. Еще раз спасибо. – user1763812

+0

@ user1763812 Я объясню. Просто вышла, чтобы быстро схватить обед. – AtheistP3ace

+1

О, я испортил}); , Спасибо, что поймал это. – user1763812

1

попробовать это ... Вы код был несколько вопросов, в том числе обработки случая, когда таблица пуста.

function generateDefaultRow() { 
 
    return $('<div class="ws-css-table-tr"><div class="ws-css-table-td"></div></div>'); 
 
} 
 

 
$('#css-irow').click(function() { 
 
    var row = $(".ws-css-table-tr:last"); 
 
    if(row.length === 0) { 
 
     row = generateDefaultRow(); 
 
    } 
 
    row.clone().appendTo('.ws-css-table') 
 
     .find(".ws-css-table-td").text(""); 
 
}); 
 

 
$('#css-drow').click(function() { 
 
    $(".ws-css-table-tr:last-child").remove(); 
 
}); 
 

 
$('#css-icol').click(function() { 
 
    var rows = $(".ws-css-table-tr"); 
 
    if(rows.length === 0) { 
 
     generateDefaultRow().appendTo('.ws-css-table') 
 
     .find(".ws-css-table-td").text(""); 
 
    } else { 
 
     rows.each(function(i, row) { 
 
      $(".ws-css-table-td:last", row).clone().appendTo(row).text(""); 
 
     }); 
 
    } 
 
}); 
 

 
$('#css-dcol').click(function() { 
 
    $(".ws-css-table-td:last-child").remove(); 
 
    if($(".ws-css-table-td").length === 0) { 
 
     $(".ws-css-table-tr").remove(); 
 
    } 
 
});
.ws-css-table { 
 
    display: table; 
 
} 
 
.ws-css-table-tr { 
 
    display: table-row;  
 
} 
 
.ws-css-table-td { 
 
    display: table-cell; 
 
    border: 1px solid #000; 
 
    width: 15px; 
 
    height: 15px; 
 
    text-align: center; 
 
    vertical-align: middle; 
 
}
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script> 
 

 
<div class="ws-css-table"> 
 
    <div class="ws-css-table-tr"> 
 
     <div class="ws-css-table-td"></div> 
 
     <div class="ws-css-table-td"></div> 
 
    </div> 
 
    <div class="ws-css-table-tr"> 
 
     <div class="ws-css-table-td"></div> 
 
     <div class="ws-css-table-td"></div> 
 
    </div> 
 
    <div class="ws-css-table-tr"> 
 
     <div class="ws-css-table-td"></div> 
 
     <div class="ws-css-table-td"></div> 
 
    </div>  
 
</div> 
 

 
<div> 
 
    <button id="css-irow">Row +</button><br/> 
 
    <button id="css-drow">Row -</button><br/> 
 
    <button id="css-icol">Col +</button> 
 
    <button id="css-dcol">Col -</button> 
 
</div>

+0

wow. Спасибо за этот код и за то, что он поймал проблемы. Кажется, он работает отлично. Спасибо! – user1763812

+0

Наверняка, я немного новичок в этом, это означает, что нажатие кнопки «Копировать фрагмент для ответа»? – user1763812

+0

Извините. Понял! Я сделал это уже. Большое вам спасибо за ваше время. вы делаете это легко. – user1763812

Смежные вопросы