|
|
|
ถาม jQuery Drag & Drop หน่อยครับ กำหนดจำนวนที่ลากเข้ามา |
|
|
|
|
|
|
|
Quote:คือผมต้องการกำหนดว่า ถ้า list1 มีครบ 10 แล้วไม่สามารถลากจาก list2 เข้ามาได้ แต่อย่างอื่นทำงานปรกติ
Code (JavaScript)
<ul id="list2">
<li><div>10</div></li>
<li><div>11</div></li>
<li><div>12</div></li>
<li><div>13</div></li>
<li><div>14</div></li>
<li><div>15</div></li>
<li><div>16</div></li>
<li><div>17</div></li>
<li><div>18</div></li>
</ul>
<ul id="list1">
<li><div>1</div></li>
<li><div>2</div></li>
<li><div>3</div></li>
<li><div>4</div></li>
<li><div>5</div></li>
<li><div>6</div></li>
<li><div>7</div></li>
<li><div>8</div></li>
<li><div>9</div></li>
</ul>
<input name="list1SortOrder" type="hidden" />
<script type="text/javascript">
$("#list1, #list2").dragsort({
drop: function(event,ui){
var $this = $(this);
if($this.find('#list1 div').length >= 10){
// Cancel drag operation (make it always revert)
ui.draggable.draggable('option','revert',true);
return;
}
ui.draggable.appendTo($this).css({
top: '0px',
left: '0px'
});
$('#list2').each(function(){
var $this = $(this);
$this.next('#list1 div').html($this.find('#list1 div').length);
});
},
dragSelector: "div", dragBetween: true, dragEnd: saveOrder, placeHolderTemplate: "<li class='placeHolder'><div></div></li>" });
function saveOrder() {
var data = $("#list1 li").map(function() { return $(this).children().html(); }).get();
$("input[name=list1SortOrder]").val(data.join("|"));
};
</script>
Tag : PHP, HTML/CSS, JavaScript, jQuery
|
|
|
|
|
|
Date :
2012-02-10 10:23:14 |
By :
t-monroe |
View :
1281 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ปัญหาได้แล้วหรือยังครับ ถ้าได้แล้วก็กลับมาตอบด้วยครับ
|
|
|
|
|
Date :
2012-02-27 09:15:59 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับพี่... พอดีช่วงนี้เป็นอึนๆ ถ้าไม่เห็นเมล์แจ้งเตือนผมก็ลืมไปแล้วว่าตั้งกระทู้ไว้ โทดทีครับ
โค้ดที่ได้ ตามนี้ครับ...
#list1 = #symbolL
#list2 = #symbolR
Code (JavaScript)
<script type="text/javascript">
var limitDrag = 10;
function startDragsort(){
$("#symbolR").dragsort("destroy");
$("#symbolL").dragsort("destroy");
$("#symbolR, #symbolL").dragsort({
dragSelector: "div",
dragBetween: true,
dragEnd: checkLimit,
placeHolderTemplate: "<li class='placeHolder'><div></div></li>"
});
}
function checkLimit() {
var data = $("#symbolL li").map(function() { return $(this).children().html(); }).get();
//$("input[name=list1SortOrder]").val(data.join("|"));
if(data.length >= limitDrag){
$("#symbolR").dragsort("destroy");
//$("#symbolL").draggable('option','revert',true);
}else if( data.length < limitDrag ) {
startDragsort();
}
}
startDragsort();
</script>
Plugin : http://dragsort.codeplex.com/
|
|
|
|
|
Date :
2012-02-27 09:27:45 |
By :
t-monroe |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เยี่ยมครับ
|
|
|
|
|
Date :
2012-02-27 20:39:55 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|