หน้า 1 จากทั้งหมด 1

javascript เพิ่มและลบ element html แบบเรียงลำดับอัตโนมัติ

โพสต์แล้ว: 19/06/2012 12:54 pm
โดย คนทั่วไป
สวัสดีครับ รบกวนถามหน่อยนะครับ
คือว่าจากโค๊ด เขียนให้มัน เพิ่ม-ลบ Element ครับ

โค้ด: เลือกทั้งหมด

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<script src="jquery-1.7.1.min.js"></script>
<script>
$(function() {
var scntDiv = $('#p_scents');
var i = $('#p_scents p').size() + 1;

$('#addScnt').live('click', function() { //ฟังชั่นเพิ่ม Element
$('<p>เพิ่มข้อมูลลำดับ '+ i +'<label for="p_scnts"><input type="text" id="p_scnt'+ i +' " size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" class="remScnt">Remove</a></p>').appendTo(scntDiv);
i++;
return false;
});

$('.remScnt').live('click', function() { //ฟังชั่นลบ Element
if( i > 2 ) {
$(this).parents('p').remove();
i--;
}
return false;
});
});
</script>
</head>

<body>
<h2><a href="#" id="addScnt">ปุ่มเพิ่มข้อมูล</a></h2>
<div id="p_scents">
<p>
เพิ่มข้อมูลลำดับ 1 <label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" /></label>
</p>
</div>
</body>
</html>
แต่ว่าปัญหาคือ เวลาเพิ่ม Element ไปเรื่อยๆ และเวลาลบ Element ออก มันไม่เรียงลำดับตัวเลขให้ถูกต้องอ่าครับ(ตัวอย่างตามรูปภาพที่แนบมา) ไม่ทราบว่าจะมีวิธีเขียนเพิ่มเติมยังไงร๋อครับ ให้ตัวเลขมันเรียงไปเรื่อยๆแบบอัตโนมัติ ไม่ว่าจะลบจะเพิ่มยังไงอ่าครับ
ปล.ถ้าไงรบกวนช่วยตอบทีนะครับ ขอบคุณครับผม

Re: javascript เพิ่มและลบ element html แบบเรียงลำดับอัตโนมัติ

โพสต์แล้ว: 20/06/2012 10:16 am
โดย tsukasaz
คล้ายๆ แบบนี้หรือเปล่าครับ

https://www.mindphp.com/forums/viewtopic ... 29&t=12215

Re: javascript เพิ่มและลบ element html แบบเรียงลำดับอัตโนมัติ

โพสต์แล้ว: 21/09/2012 1:23 am
โดย sunzandesign

โค้ด: เลือกทั้งหมด

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<script src="jquery-1.7.1.min.js"></script>
<script>
$(function() {
	var scntDiv = $('#p_scents');
	var i = $('#p_scents p').size() + 1;

	$('#addScnt').live('click', function() { //ฟังชั่นเพิ่ม Element
		$('<p>เพิ่มข้อมูลลำดับ <span class="no">'+ i +'</span><label for="p_scnts"><input type="text" id="p_scnt'+ i +' " size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" class="remScnt">Remove</a></p>').appendTo(scntDiv);
		i++;
		return false;
	});

	$('.remScnt').live('click', function() { //ฟังชั่นลบ Element
		if( i > 2 ) {
			$(this).parents('p').remove();
			sortNumber();
		i--;
		}
		return false;
	});
});

function sortNumber()
{
	$('.no').each(function(index){
		$(this).text(index + 1);
	});
	
}
</script>
</head>

<body>
<h2><a href="#" id="addScnt">ปุ่มเพิ่มข้อมูล</a></h2>
<div id="p_scents">
<p>
เพิ่มข้อมูลลำดับ <span class="no">1</span> <label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" /></label>
</p>
</div>
</body>
</html>

ที่เพิ่มเติมมีอยู่ 2 ส่วนด้วยกันนะครับ
ที่ Element ของ HTML แก้ไขเป็น ===> เพิ่มข้อมูลลำดับ <span class="no">1</span>
จะเพิ่ม span ที่มีคลาสชื่อ no ไว้เป็นตัวอ้างอิงครับ

ส่วนที่ 2 ฟังก์ชั่นจาวาสคริปต์

โค้ด: เลือกทั้งหมด

function sortNumber()
{
	$('.no').each(function(index){
		$(this).text(index + 1);
	});
	
}

จะเรียกใช้ตอนที่มีการคลิกเพิ่มครับ
$('.remScnt').live('click', function() { //ฟังชั่นลบ Element
if( i > 2 ) {
$(this).parents('p').remove();
sortNumber();
i--;
}
return false;
});

และส่วนของการเพิ่มใหม่ ก็จะเพิ่ม span เข้าไปเช่นกัน
$('#addScnt').live('click', function() { //ฟังชั่นเพิ่ม Element
$('<p>เพิ่มข้อมูลลำดับ <span class="no">'+ i +'</span><label for="p_scnts"><input type="text" id="p_scnt'+ i +' " size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" class="remScnt">Remove</a></p>').appendTo(scntDiv);
i++;
return false;
});

ลองนำโค๊ดไปรันดูนะครับ ^^

Re: javascript เพิ่มและลบ element html แบบเรียงลำดับอัตโนมัติ

โพสต์แล้ว: 18/10/2012 1:26 pm
โดย noomi
พอดีได้งานเขียนเว็บด้วย CI FW แล้วต้องใช้ CKEditor กับ Jquery ก็ได้ไปเจอปัญหานึงของ Editor คือพิมพ์ข้อมูลเองใน Editor แล้วสามารถบันทึกได้ แต่พอไปก็อบปี้ข้อมูลจากที่อื่นมาใส่มันบันทึกไม่ได้ จากที่ตรวจแล้วแล้วเป็นเพราะ Editor มันสร้างโค้ด html ใส่ไปให้ซึ่งอะไรที่มี & นำหน้าจะไม่สามารถส่งข้อมูลไปได้ เช่น &ldquo; หรือ &rdquo; พวกนี้จะส่งไปไม่ได้

Re: javascript เพิ่มและลบ element html แบบเรียงลำดับอัตโนมัติ

โพสต์แล้ว: 22/10/2012 3:00 pm
โดย HurricaneCyber
ลองอ่านนี้ดู น่าจะเกี่ยวกับการใส่ Special Characters

http://drupal.org/node/1108046

Re: javascript เพิ่มและลบ element html แบบเรียงลำดับอัตโนมัติ

โพสต์แล้ว: 18/03/2016 10:30 pm
โดย lnwpenclub
ขอบคุณมากครับ