問題:以下是我如何使用js傳遞數據。這是一個很好的方式去解決這個問題,或者我做錯了嗎?它確實有效,但我認爲...似乎......可疑的是,我的相對較低的JS技能。在使用Javascript動態生成鏈接中傳遞數據
我有一個自定義網格插件,可以生成數據網格。假設它會生成用戶名和他們的id#,角色,日期等行。
我希望能夠點擊每行中的「編輯」鏈接,彈出一個模式窗口來管理數據。也許改變用戶的角色。
網格由包裝在匿名函數中的代碼生成,而模式是由包裝在不同匿名函數中的代碼生成的。我需要使用該特定點擊行的正確數據填充模式。
我所做的是在鏈接中包含必要的數據作爲自定義屬性,點擊該鏈接來管理用戶的數據。生成的鏈接看起來是這樣的:
<a href="#" userrole="role1" userid="12345"> Manage </a>
所以點擊該鏈接將啓動模態窗口,然後我用一些jquery的搶屬性值和填充模式。一個例子:
首先,處理點擊的代碼(只是假設點擊處理程序和其他document.ready()的東西被分配......我只是爲了簡潔起見,但這是基於可正常工作的代碼) :
(function(){
var EditUserClick = function(e) {
userRole = $(this).attr('userrole'); //assign some values
userId = $(this).attr('userid'); // assign some values
OpenEditUserModal(userRole,userId);
}
});
其次,處理模式代碼:
//Public stuff so it's accessible to the click.
var OpenEditUserModal;
(function(){
OpenEditUserModal = function(userRole,userId){
//code to handle the modal window opening can go here
//populate the modal
$('#userRole').text(userRole); // let's say this is a text field
$('#userId').val(userId); //let's say this is a hidden form field
}
});
那麼怎麼樣了?有沒有更好的方式來獲取這些數據,而不是將它分配給構成的鏈接屬性,並將它傳遞給下一個方法?歡迎任何其他建議......總是希望學習。