动态分配ID

时间:2013-04-15 05:32:11

标签: javascript jquery node.js

我正在使用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。感谢您的帮助

1 个答案:

答案 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('-');
}

JsFiddle

此外,您可以尝试“映射”操作:

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('/'); }
}