0

私は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 という単語が使用されます。助けてくれてありがとう

4

1 に答える 1

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

Jsフィドル

また、アクションを「マップ」することもできます。

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('/'); }
}
于 2013-04-15T06:07:25.000 に答える