Beiträge: 7.004
Themen: 4.703
Registriert seit: 06.12.2006
07.10.2011, 18:05
(Dieser Beitrag wurde zuletzt bearbeitet: 26.08.2014, 09:54 von MyBB.de Bot.)
Eine neue Erweiterung wurde veröffentlicht: MyCode TableGenerator
Zitat:Während dem Antworten oder Erstellen eines neuen Threads, erscheint dort eine Schaltfläche unter der Smiliebox, die einen JavaScript-Basierten Generator für das Erstellen von Tabellen öffnet.
Dieses Plugin fügt automatisch alle notwendigen MyCodes hinzu.
ACHTUNG: Vor der installation dieses Plugins entfernen sie bitte alle von ihnen hinzugefügten MyCodes!
Beiträge: 176
Themen: 34
Registriert seit: 30.07.2012
Hi,
ich habe mir gerade diese Erweiterung installiert, aber ich habe damit ein paar Probleme.
Meine erstellten Tabellen sehen so aus:
http://www.grillerforum.de/Thread-Tabellentest
Code: [table=95][tr][td]<input type="checkbox"> TH[/td][th]hjdjg[/th][th]dfhjdf[/th][/tr][tr][td]<input type="checkbox"> TH[/td][th]dfgj[/th][th]dfgjh[/th][/tr][/table]
Mein Problem damit ist, ich habe nie die Option "Checkbox" ausgewählt und möchte sie auch nicht haben.
Das ganze funktioniert nur, wenn man nochmal nachträglich den Code bearbeitet, wie im ersten Thread.
So sieht die tablegenerator.js aus.
Was könnte man da rausnehmen, damit man nur die Option "Tabellenerstellung" ohne Schnickschnack hat?
Code: $(document).ready(function($){
var col = 2;
var row = 2;
var makeCol = '<td><textarea cols="15" rows="3"></textarea></td>';
var makeRow = '<tr><td><input type="checkbox" /> TH</td></tr>';
var blocker = 0;
// add column
$('#addCol').live('click', function() {
if(blocker > 0) {
alert('Please remove all table head markings.');
}
else {
col++;
$('#container table tr').append(makeCol);
}
});
// remove column until 2 left
$('#delCol').live('click', function() {
if(blocker > 0) {
alert('Please remove all table head markings.');
}
else {
if(col > 2) {
$('#container table td:nth-child('+col+')').remove();
col--;
}
}
});
// add row
$('#addRow').live('click', function() {
row++;
var colCounter = col;
$('#container table').append(makeRow);
while(colCounter > 0) {
$('#container table tr:last').append(makeCol);
colCounter--;
}
});
// remove row until 2 left
$('#delRow').live('click', function() {
if(row > 2) {
$('#container table tr:last').remove();
row--;
}
});
// make tablehead
$('input[type=checkbox]').live('click', function() {
if($(this).parent().siblings().is('td')) {
$(this).parent().siblings().replaceWith('<th><input type="text" size="15" /></th>');
blocker++;
}
else {
$(this).parent().siblings().replaceWith('<td><textarea cols="15" rows="3"></textarea></td>');
blocker--;
}
});
// generate code
$('#tabCreate').live('click', function() {
var width = $('#tabWidth').val();
if(width == "") {
var width = 95;
}
$('#container textarea').each(function() {
var textarea = $(this);
textarea.replaceWith(textarea.val());
});
$('#container input[type="text"]').each(function() {
var input = $(this);
input.replaceWith(input.val());
});
var oldValue = $('#container').clone().html().replace(/\r\n|\r|\n/g, '') //new line
.replace(/\t/g, '') //tab
.replace(/<td><input type="checkbox"> TH<\/td>/g, '')
.replace(/<td class="deleteMe"><\/td>/g, '')
.replace(/<table>/g, '[table='+width+']')
.replace(/<\/table>/g, '[\/table]')
.replace(/<tr>/g, '[tr]')
.replace(/<\/tr>/g, '[\/tr]')
.replace(/<th>/g, '[th]')
.replace(/<\/th>/g, '[\/th]')
.replace(/<td>/g, '[td]')
.replace(/<\/td>/g, '[\/td]')
.replace(/<tbody>/g, '')
.replace(/<\/tbody>/g, '');
$('#container table').replaceWith('<textarea>');
$('#container textarea').attr('cols','70').attr('rows','15').text(oldValue);
});
// close window
$('#tabClose').live('click', function() {
window.close();
return false;
});
});
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
Du könntest mal folgendes probieren:
ersetze die Zeile
Code: var makeRow = '<tr><td><input type="checkbox" /> TH</td></tr>';
durch
Code: //var makeRow = '<tr><td><input type="checkbox" /> TH</td></tr>';
und/oder kommentiere die Zeile
Code: $('#container table').append(makeRow);
aus.
Beiträge: 8.516
Themen: 59
Registriert seit: 20.04.2010
MyBB-Version: 1.8*
Mit diesem Plugin kann man aber dein Design schön einfach zerschiessen, nur mal so als Info.
Mit freundlichen Grüßen
MrBrechreiz
Beiträge: 176
Themen: 34
Registriert seit: 30.07.2012
Jo, das mit dem Design zerschießen hab ich gerade mal simuliert.
Gäbe es den eine Alternative zum Tabellen erstellen?
Leider klappt das mit den Checkboxen rausnehmen nicht.
So sieht der Code jetzt aus:
Code: $(document).ready(function($){
//var col = 2;
//var row = 2;
//var makeCol = '<td><textarea cols="15" rows="3"></textarea></td>';
//var makeRow = '<tr><td><input type="checkbox" /> TH</td></tr>';
var blocker = 0;
// add column
$('#addCol').live('click', function() {
if(blocker > 0) {
alert('Please remove all table head markings.');
}
else {
col++;
$('#container table tr').append(makeCol);
}
});
// remove column until 2 left
$('#delCol').live('click', function() {
if(blocker > 0) {
alert('Please remove all table head markings.');
}
else {
if(col > 2) {
$('#container table td:nth-child('+col+')').remove();
col--;
}
}
});
// add row
$('#addRow').live('click', function() {
//row++;
var colCounter = col;
//$('#container table').append(makeRow);
while(colCounter > 0) {
$('#container table tr:last').append(makeCol);
colCounter--;
}
});
// remove row until 2 left
$('#delRow').live('click', function() {
if(row > 2) {
$('#container table tr:last').remove();
row--;
}
});
// make tablehead
$('input[type=checkbox]').live('click', function() {
if($(this).parent().siblings().is('td')) {
$(this).parent().siblings().replaceWith('<th><input type="text" size="15" /></th>');
blocker++;
}
else {
$(this).parent().siblings().replaceWith('<td><textarea cols="15" rows="3"></textarea></td>');
blocker--;
}
});
// generate code
$('#tabCreate').live('click', function() {
var width = $('#tabWidth').val();
if(width == "") {
var width = 95;
}
$('#container textarea').each(function() {
var textarea = $(this);
textarea.replaceWith(textarea.val());
});
$('#container input[type="text"]').each(function() {
var input = $(this);
input.replaceWith(input.val());
});
var oldValue = $('#container').clone().html().replace(/\r\n|\r|\n/g, '') //new line
.replace(/\t/g, '') //tab
//.replace(/<td><input type="checkbox"> TH<\/td>/g, '')
.replace(/<td class="deleteMe"><\/td>/g, '')
.replace(/<table>/g, '[table='+width+']')
.replace(/<\/table>/g, '[\/table]')
.replace(/<tr>/g, '[tr]')
.replace(/<\/tr>/g, '[\/tr]')
.replace(/<th>/g, '[th]')
.replace(/<\/th>/g, '[\/th]')
.replace(/<td>/g, '[td]')
.replace(/<\/td>/g, '[\/td]')
.replace(/<tbody>/g, '')
.replace(/<\/tbody>/g, '');
$('#container table').replaceWith('<textarea>');
$('#container textarea').attr('cols','70').attr('rows','15').text(oldValue);
});
// close window
$('#tabClose').live('click', function() {
window.close();
return false;
});
});
Beiträge: 8.516
Themen: 59
Registriert seit: 20.04.2010
MyBB-Version: 1.8*
Verabschiede dich lieber von dieser Idee, denn Du wirst damit keine Freude haben, Glaube mir.
Mit freundlichen Grüßen
MrBrechreiz
Beiträge: 176
Themen: 34
Registriert seit: 30.07.2012
Beiträge: 8.516
Themen: 59
Registriert seit: 20.04.2010
MyBB-Version: 1.8*
Kommt darauf an was Du vor hast.
Mit freundlichen Grüßen
MrBrechreiz
Beiträge: 176
Themen: 34
Registriert seit: 30.07.2012
29.12.2012, 18:28
(Dieser Beitrag wurde zuletzt bearbeitet: 29.12.2012, 18:29 von thomas01.)
Ich suche einen ganz einfachen Tabellengenerator, womit ich die Anzahl der Spalten und Zeilen komfortabel vorgeben kann und auch füllen kann. Ohne jeglichen Schnickschnack
Wie diese Tabelle im ersten Beitrag ---> http://www.grillerforum.de/Thread-Tabellentest
Beiträge: 2.318
Themen: 13
Registriert seit: 09.11.2008
(29.12.2012, 17:30)thomas01 schrieb: Gäbe es den eine Alternative zum Tabellen erstellen?
Für einfache Ansprüche könntest du auch ein span mit einer gewissen Mindestbreite nehmen.
Tab-MyCode
\[tab\](.*?)\[/tab\]
<span style="min-width: 15em; padding: 2px; margin-top: 2px; margin-bottom: 2px; display: inline-block; background: #ded;">$1</span>
Das Ergebnis sieht aber nur dann wie eine Tabelle aus, wenn die Inhalte der Tabs entsprechend kurz sind.
Kommt eben darauf an, was du erreichen willst.
|