簡體   English   中英

分配的參數和定義函數,jQuery

[英]Assigned parameters and defining functions, jQuery

現在我有代碼:

$.get("test.php", function(($cars){
    $cars = cars;
}, "json");

$(function(cars){
    $.each(cars, function(i, startList){
        if(iNLarr[i]){
            iNLarr[i](startList.name);
        }
    });
});

好的,我將$ cars數組分配給cars變量。 基本上$ cars是一個對象數組,每個對象都是一個關聯數組。 我需要能夠在數組上工作,所以我首先將其分配給了變量。 下一個功能使用汽車中的信息並將其顯示在html元素中。 iNLarr是一個函數數組,每個函數都使用從$ cars對象數組中檢索的名稱來更改替換名稱html元素。

每當我運行該函數時,我都會得到類似array.prototype.map的有效參數。 我認為startList是我希望將其分配給對象的虛構參數,以便我可以檢索每個名稱,但是我猜並非如此,任何人都可以幫助我。

我不確定我是否已經正確定義了函數。

使用以下代碼完成您的任務:

$.get("test.php", function(($cars){
    cars = $cars;
    $.each(cars, function(i, startList){
        if(iNLarr[i]){
            iNLarr[i](startList.name);
        }
    });
}, "json");

告訴我是否需要任何解釋。

目前,這兩個功能都沒有意義。 第一行:

$cars = cars;

會使用未定義(至少在顯示的代碼中未定義)變量cars 覆蓋 ajax調用的結果。 然后,您實際上不會對$cars進行任何進一步的操作-如果您不使用它,就沒有任何價值。

然后,您的第二個函數將綁定為文檔就緒處理程序 ,這意味着cars參數將設置為引用jQuery 也就是說,當您調用$()jQuery()並傳遞一個函數作為參數時:

$(function() { /* some code */ });

...當DOM准備就緒時,將調用該函數。

您應該使用第一個函數中的ajax調用來完成所需的所有處理,如下所示:

$.get("test.php", function(cars){
    $.each(cars, function(i, startList){
        if(iNLarr[i]){
            iNLarr[i](startList.name);
        }
    });
}, "json");

您可能需要將以上內容包裝在文檔就緒處理程序中,或將其放在正文末尾的腳本中。

$(function () { … }符號用於在文檔准備/加載時執行代碼。

$.get在腳本加載時完成(即加載了文檔),但是響應可以在文檔加載后進行。

$(function() {
    $.get("test.php", function(cars) {
        $.each(cars, function(i, startList) {
            if(iNLarr[i]){
                iNLarr[i](startList.name);
            }
        });
    }, "json");
});

願它對您有幫助。

暫無
暫無

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

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