我正在使用nodejs和expressjs。
我从数据库加载一个列表。选择任何列表元素会显示与编辑和删除所选项目的叠加。我无法弄清楚如何将选定的列表项发送到快速路线。
我认为需要做的事情:动态地为叠加层上的按钮分配ID。我试图制作一个jfiddle但叠加层不起作用。
有什么想法吗?我用jquery将叠加层滑入视图。
感谢您抽出宝贵时间阅读本文
我有一个动态创建的列表,每个项目都带有“.recordlongpress”类,我将这个Jquery功能应用于它。
$(document).ready(function(){
$('.recordlongpress').bind('tap', function() {
return;
});
$('.recordlongpress').bind('taphold', function() {
$('#overlay').fadeIn('fast',function(){
$('#box').animate({'top':'100px'},500);
});
});
$('#boxclose').click(function(){
$('#box').animate({'top':'-100px'},500,function(){
$('#overlay').fadeOut('fast');
});
});
});
通过CSS和这个HTML
的组合来实现我的叠加层 <div class="overlay" id="overlay" style="display:none;"></div>
<div class="box" id="box">
<a class="boxclose" id="boxclose"></a>
<button onclick="location.href='/scape/editcustomerform/id'">Edit Contact</button>
<button onclick="location.href='/scape/deletecustomer/ID'">Delete Contact</button>
<button>E-mail Customer</button>
<button>Call Customer</button>
<button>GPS to Address</button>
<button>Create Quote</button>
<button>Create Sales Order</button>
<button>Create Cash Sale</button>
</div>
</div>
我试图将路径id附加到路径的末尾,但它只是字面上的id。感谢您的帮助
答案 0 :(得分:1)
试试这个:
var box = document.getElementById('box'),
buttons = box.getElementsByTagName('button');
for(var i = 0; i < buttons.length; i++){
buttons[i].id = [ 'my', 'button', 'id', i ].join('-');
}
此外,您可以尝试“映射”操作:
var box = document.getElementById('box'),
buttons = box.getElementsByTagName('button');
var map = [
'editcustomerform',
'deletecustomer',
'emailcustomer',
'callcustomer',
'gpstocustomer',
'createquote',
'createsalesorder',
'createcashsale'
];
for(var i = 0; i < buttons.length; i++){
buttons[i].id = [ 'my', 'button', 'id', i ].join('-');
buttons[i].onclick = function(){ location.href = [ '/scape', map[i], 'id' ].join('/'); }
}