Javascript 使用动态div上的上下箭头进行Jquery排序
我正在使用脚本生成Javascript 使用动态div上的上下箭头进行Jquery排序,javascript,jquery,html,Javascript,Jquery,Html,我正在使用脚本生成div框: $('.FieldContainer a.add').click(function(){ $('.FieldContainer').append( '<div class="OrderingField">'+ '<div class="LeftFloat">'+ 'Item'+ '</div>'+ '<div class="RightFloat Command
div
框:
$('.FieldContainer a.add').click(function(){
$('.FieldContainer').append(
'<div class="OrderingField">'+
'<div class="LeftFloat">'+
'Item'+
'</div>'+
'<div class="RightFloat Commands">'+
'<button value="up" >Up</button>'+
'<button value="down" >Down</button>'+
'</div>'+
'</div>'
);
});
$('.FieldContainer a.add')。单击(函数(){
$('.FieldContainer')。追加(
''+
''+
“项目”+
''+
''+
“向上”+
“向下”+
''+
''
);
});
这是我的JSFIDLE链接
“向上-向下”按钮处理预加载的div
元素,但使用上述脚本生成的div元素不会使用该按钮向上-向下移动
如何纠正这一点
编辑:
工作示例:
您需要在启动时应用
。click()
也可以在新创建的div上执行,因为jQuery选择器当前仅在启动时执行。您可以按如下方式执行此操作:
$('.FieldContainer a.add').click(function(){
$('.FieldContainer').append(
'<div class="OrderingField">'+
'<div class="LeftFloat">'+
'Item'+
'</div>'+
'<div class="RightFloat Commands">'+
'<button value="up" >Up</button>'+
'<button value="down" >Down</button>'+
'</div>'+
'</div>'
).find('button').click(function() {
var btn = $(this);
var val = btn.val();
if (val == 'up')
moveUp(btn.parents('.OrderingField'));
else
moveDown(btn.parents('.OrderingField'));
});
});
$('.FieldContainer a.add')。单击(函数(){
$('.FieldContainer')。追加(
''+
''+
“项目”+
''+
''+
“向上”+
“向下”+
''+
''
).find('按钮')。单击(函数(){
var btn=$(本);
var val=btn.val();
如果(val=='up')
上移(btn.parents('.OrderingField');
其他的
向下移动(btn.parents('.OrderingField');
});
});
更新:由于您的
click()
需要应用于按钮,因此我插入了find('button')
选择器。我更新了。您需要在启动时应用。click()
也可以在新创建的div上执行,因为jQuery选择器当前仅在启动时执行。您可以按如下方式执行此操作:
$('.FieldContainer a.add').click(function(){
$('.FieldContainer').append(
'<div class="OrderingField">'+
'<div class="LeftFloat">'+
'Item'+
'</div>'+
'<div class="RightFloat Commands">'+
'<button value="up" >Up</button>'+
'<button value="down" >Down</button>'+
'</div>'+
'</div>'
).find('button').click(function() {
var btn = $(this);
var val = btn.val();
if (val == 'up')
moveUp(btn.parents('.OrderingField'));
else
moveDown(btn.parents('.OrderingField'));
});
});
$('.FieldContainer a.add')。单击(函数(){
$('.FieldContainer')。追加(
''+
''+
“项目”+
''+
''+
“向上”+
“向下”+
''+
''
).find('按钮')。单击(函数(){
var btn=$(本);
var val=btn.val();
如果(val=='up')
上移(btn.parents('.OrderingField');
其他的
向下移动(btn.parents('.OrderingField');
});
});
更新:由于您的
click()
需要应用于按钮,因此我插入了find('button')
选择器。我更新了。您需要在启动时应用。click()
也可以在新创建的div上执行,因为jQuery选择器当前仅在启动时执行。您可以按如下方式执行此操作:
$('.FieldContainer a.add').click(function(){
$('.FieldContainer').append(
'<div class="OrderingField">'+
'<div class="LeftFloat">'+
'Item'+
'</div>'+
'<div class="RightFloat Commands">'+
'<button value="up" >Up</button>'+
'<button value="down" >Down</button>'+
'</div>'+
'</div>'
).find('button').click(function() {
var btn = $(this);
var val = btn.val();
if (val == 'up')
moveUp(btn.parents('.OrderingField'));
else
moveDown(btn.parents('.OrderingField'));
});
});
$('.FieldContainer a.add')。单击(函数(){
$('.FieldContainer')。追加(
''+
''+
“项目”+
''+
''+
“向上”+
“向下”+
''+
''
).find('按钮')。单击(函数(){
var btn=$(本);
var val=btn.val();
如果(val=='up')
上移(btn.parents('.OrderingField');
其他的
向下移动(btn.parents('.OrderingField');
});
});
更新:由于您的
click()
需要应用于按钮,因此我插入了find('button')
选择器。我更新了。您需要在启动时应用。click()
也可以在新创建的div上执行,因为jQuery选择器当前仅在启动时执行。您可以按如下方式执行此操作:
$('.FieldContainer a.add').click(function(){
$('.FieldContainer').append(
'<div class="OrderingField">'+
'<div class="LeftFloat">'+
'Item'+
'</div>'+
'<div class="RightFloat Commands">'+
'<button value="up" >Up</button>'+
'<button value="down" >Down</button>'+
'</div>'+
'</div>'
).find('button').click(function() {
var btn = $(this);
var val = btn.val();
if (val == 'up')
moveUp(btn.parents('.OrderingField'));
else
moveDown(btn.parents('.OrderingField'));
});
});
$('.FieldContainer a.add')。单击(函数(){
$('.FieldContainer')。追加(
''+
''+
“项目”+
''+
''+
“向上”+
“向下”+
''+
''
).find('按钮')。单击(函数(){
var btn=$(本);
var val=btn.val();
如果(val=='up')
上移(btn.parents('.OrderingField');
其他的
向下移动(btn.parents('.OrderingField');
});
});
更新:由于您的
click()
需要应用于按钮,因此我插入了find('button')
选择器。我已更新。您正在绑定事件后添加元素。如果要在动态添加的元素上具有相同的事件,则需要在添加这些按钮后将单击绑定到这些按钮在绑定事件后添加元素。如果要在动态添加的元素上具有相同的事件,则需要在添加这些按钮后将单击绑定到这些按钮在绑定事件后添加元素。如果要在动态添加的元素上具有相同的事件,则需要在添加这些按钮后将单击绑定到这些按钮在绑定事件后添加元素。如果要在动态添加的元素上具有相同的事件,则需要在添加这些按钮后将单击绑定到这些按钮。$('.FieldContainer a.add')。单击(function(){
$('.FieldContainer a.add').click(function(){
$('.FieldContainer').append(
'<div class="OrderingField">'+
'<div class="LeftFloat">'+
'Item'+
'</div>'+
'<div class="RightFloat Commands">'+
'<button value="up" >Up</button>'+
'<button value="down" >Down</button>'+
'</div>'+
'</div>');
$(".FieldContainer").sortable("destroy");
$(".FieldContainer").sortable({
items: ".OrderingField",
distance: 10
});
});
$('.FieldContainer')。追加(
''+
''+
“项目”+
''+
''+
“向上”+
“向下”+
''+
'');
$(“.FieldContainer”)。可排序(“销毁”);
$(“.FieldContainer”).sortable({
项目:“.OrderingField”,
距离:10
});
});
$('.FieldContainer a.add')。单击(函数(){
$('.FieldContainer')。追加(
''+
''+
“项目”+
''+
''+
“向上”+
“向下”+
''+
'');
$(“.FieldContainer”)。可排序(“销毁”);
$(“.FieldContainer”).sortable({
项目:“.OrderingField”,
距离:10
});
});
$('.FieldContainer a.add')。单击(函数(){
$('.FieldContainer')。追加(
''+
''+
“项目”+
''+
''+
“向上”+
“向下”+
''+
'');
$(“.FieldContainer”)。可排序(“销毁”);
$(“.FieldContainer”).sortable({
项目:“.OrderingField”,
距离:10
});
});
$('.FieldContainer a.add')。单击(函数(){
$('.FieldContainer')。追加(
''+
''+
“项目”+
''+
''+
“向上”+
“向下”+
''+
'');
$(“.FieldContainer”)。可排序(“销毁”);
$(“.FieldContainer”).sortable({
项目:“.OrderingField”,
距离:10
});
});
添加全局句柄