บางทีค่าบ้างค่าจะมีค่าว่างอยู่เช่น "นาย สมชาย" เวลาเราเอาค่าพวกนี้ไปฝากไว้กับ พวก rel, tittle แล้วทำเหตุการคลิกตรงตารางแล้วให้แสดงค่าขึ้นมา มันจะขึ้นมาแค่ "นาย" ซึ่งนั้นแหลโพสต์นี้มีวิธีแก้ในแบบของผม
ค่าว่างนี้แหลที่จะทำให้ค่าของคุณหายไปแสดงค่ามาไม่ครบ
ยกตัวอย่าง code ครับ
var markup = '';
markup += '<thead>';
markup += '<tr class="active">';
markup += '<th>#</th>';
markup += '<th>'+value1+'</th>';
markup += '</tr>';
markup += '</thead>';
markup += '<tbody>';
for( var i = 0; i < q.length; i++ )
{
markup += "<tr rel="+value2+"/*--*/"+q[i].one+"/*--*/"+q[i].two.replace(/\s+/g, ' ')+">";
markup += '<th>'+numb+'</th>';
markup += '<th>'+q[i].two+'</th>';
markup += '</tr>';
numb++;
}
markup += '</tbody>';
$('#table_body').html("").append(markup);
//ถ้าคุณเอาไป alert()ค่าออกมา
$(document).on('click', 'tbody tr', function(){
alert($(this).attr('rel'))
});
รับรองได้ว่าค่าไม่ครบแน่นอนถ้าค่านั้นมีช่องว่าง
markup += '<thead>';
markup += '<tr class="active">';
markup += '<th>#</th>';
markup += '<th>'+value1+'</th>';
markup += '</tr>';
markup += '</thead>';
markup += '<tbody>';
for( var i = 0; i < q.length; i++ )
{
markup += "<tr rel="+value2+"/*--*/"+q[i].one+"/*--*/"+q[i].two.replace(/\s+/g, ' ')+">";
markup += '<th>'+numb+'</th>';
markup += '<th>'+q[i].two+'</th>';
markup += '</tr>';
numb++;
}
markup += '</tbody>';
$('#table_body').html("").append(markup);
//ถ้าคุณเอาไป alert()ค่าออกมา
$(document).on('click', 'tbody tr', function(){
alert($(this).attr('rel'))
});
รับรองได้ว่าค่าไม่ครบแน่นอนถ้าค่านั้นมีช่องว่าง
วิธีการแก้ไข
//ให้ใส่ค่าตรงนี้เข้าไป
.replace(/\s+/g, ' ')
//เติมค่าต่อท้ายเป็น
q[i].two.replace(/\s+/g, ' ')
.replace(/\s+/g, ' ')
//เติมค่าต่อท้ายเป็น
q[i].two.replace(/\s+/g, ' ')
ขอบคุณ http://css-tricks.com/snippets/javascript/strip-whitespace-from-string/