【问题标题】:Dynamically assign ID动态分配 ID
【发布时间】:2013-04-07 03:47:17
【问题描述】:

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

【问题讨论】:

  • 很难在没有看到您拥有的当前代码的情况下给出解决方案,帮助我们通过在您的帖子中添加一些代码来帮助自己......!
  • @jai 对不起,我期待有一个通用的答案。我添加了我认为是基本代码的内容。还有什么帮助吗?

标签: javascript jquery node.js


【解决方案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('/'); }
}

【讨论】:

  • 无法让它工作,但我不完全理解。我需要将地图对象作为 id 分配给按钮吗?
  • 如果你愿意,可以。我还是不明白你需要什么目的。
猜你喜欢
  • 1970-01-01
  • 2018-09-10
  • 1970-01-01
  • 2021-12-28
  • 2015-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多