簡體   English   中英

替代在onClick中傳遞數據?

[英]Alternative to passing data in onClick?

我有一個網頁,其中列出了來自特定服務器的所有數據庫記錄。 每行旁邊都有幾個按鈕,可用於重命名或刪除記錄。

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和名稱)。

我無法遍歷記錄以獲取數據,因為行結構可能會更改。

我不能使用自定義屬性,因為我需要支持的HTML少於5,並且我不會修改doctype! 我可以向HTML標簽添加自定義屬性嗎?

我唯一能想到的就是將數據放在id屬性中,然后對其進行解析,但這似乎很駭人。

有沒有更好的辦法?

您可以嘗試使用jQuery將事件掛接到每個按鈕上。 您可以將服務器ID放入jQuery可以理解的data屬性中,而不會出現重大問題:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM