0

特定のサーバーからのすべてのデータベース レコードを一覧表示する Web ページがあります。各行の横には、レコードの名前変更または削除を可能にするいくつかのボタンがあります。

INPUT( _value='Rename', _type="button", _class='appbutton', _onclick='renameApplication({0},"{1}")'.format(app.id,app.name))

次のようなものが生成されます。

<input class="appbutton" type="button" value="Rename" onclick="renameApplication(3,"My Application")"></input>

(バックエンド テンプレート エンジンは web2py ですが、それはあまり重要ではありません。)

これらのボタンを動的に生成しています。現在、各ボタンが必要とするデータを onClick 経由で渡しています。

jQuery.click() vs onClickによると、もうこれを行うべきではありません。しかし、その場合、ボタンをクリックするたびにサーバー側で書き込まれた動的データ (この場合はアプリケーション ID と名前) を使用できるようにするには、どのようにデータを渡す必要がありますか。

行構造が変更される可能性があるため、データを取得するためにレコードを dom トラバーサルすることはできません。

HTML 5 未満をサポートする必要があるため、カスタム属性を使用できません。また、doctype を変更するつもりもありません。( HTML タグにカスタム属性を追加できますか? )

私が考えることができる唯一のことは、データを id 属性に入れてから解析することですが、それは非常にハックに思えます。

より良い方法はありますか?

4

1 に答える 1

3

jQueryを使用して、すべてのボタンにイベントをフックすることもできます。大きな問題なく、jQuery が理解できるデータ属性にサーバー ID を入れることができます。

<input class="appbutton" type="button" value="Rename" data-id="3"></input>

次にjs:

$('#container').on('click', '.appbutton', function () {
  var serverId = $(this).data('Id'); //this binds to html input
  renameApplication(serverId);
});
于 2013-02-28T19:14:10.270 に答える