所以我發現一個awesome solution需要在jQuery中使用全局變量。我在任何地方都說命名空間,最初我打算使用Global var。如何將名稱空間變量傳遞給click函數參數變量? jQuery
但是我無法通過一個簡單的點擊函數的參數發送我的命名空間變量。
我想這樣做,因爲我有這些變量需要保存並用於創建模式窗口以及讓應用程序知道動態創建的按鈕控制着什麼模式。
所以,下面是我的命名空間對象的示例,我先創建變量 我的jQuery的命名空間對象:
$.reg = {
masterRole : " ",
role_ID : " ",
row_Name : " ",
ary_Check_Role : []
};
$(document).ready(function() {
...
當你經歷當你點擊這個對於那些命名空間變量的值獲取設置應用程序按鈕(從HTML爭奪數據) 變量對我roleBtnClicked功能設置
function roleBtnClicked(event){
$.reg.masterRole = $(this).html(); /* Get role name: Actor */
$.reg.role_ID = $(this).attr('role'); /* Get role-1 */
$.reg.rowName = $(this).attr('row'); /* Get row-role-1 */
$.reg.blueBtn = $(this).attr('blue'); /* Get blue-btn-1 */
現在模態窗口彈出,點擊一些複選框和數據推到一個數組,當你後點擊完成按鈕(下面),所有的變量需要再次保存到命名空間變量中。
我完成按鈕點擊功能,在這裏我想通過參數去把我的名字空間變量瓦爾
$(".doneButton").click(
{
param1: $.reg.masterRole,
param2: $.reg.role_ID,
param3: $.reg.rowName,
param4: $.reg.ary_Check_Role
},
doneBtnClicked);
function doneBtnClicked(event){
alert('$.reg.roleName = '+$.reg.roleName);
alert('event.data.param1 = '+event.data.param1);
masterRole= event.data.param1;
role_ID = event.data.param2;
rowName = event.data.param3;
ary_Check_Role = event.data.param4;
注2個警報以上的點擊功能,第一個會顯示正確值,但是第二個不顯示任何東西。此外還有一個問題讓陣列來通過以及。
所以問題:我應該這樣做嗎?你如何正確地傳遞數組到一個jQuery名稱空間,然後讓它傳遞到一個單擊函數參數?
在你的代碼$ .reg.masterRole被設置爲「」所以警告它什麼都不會顯示..這個代碼實際上代表了你使用的是什麼? – 2013-05-01 22:50:43
對不起還有另一個函數,在doneButton之前點擊一下按鈕,設置這些變量:$ .reg.masterRole = $(this).html();我現在將這個問題添加到這個問題 – 2013-05-01 23:42:39