簡體   English   中英

jQuery + $ .each +動態操作+使用參數

[英]Jquery + $.each + dynamic operation + using parameters

function Controles(contro, nomtab, numtab, action, nomcla, tipdat, lista, datos) {

    $(document).on('click', '.'+contro+' #IZQTOD', function(event) {
        $.getJSON(action+'&rows='+rows+'&page=1', function(datos) {
            var nuevafila;
            $.each(datos+tipdat, function(index, data) {
                nuevafila = nuevafila + "<tr class='Fila-Grid-"+nomcla+"' id='" + numtab + (index + 1) + "'>";
                nuevafila = nuevafila + "<td class='Columna1'>" + (index + 1) + "</td>";
                var list = lista.split("-");
                for (var j = 1; j < list.length; j++) {
                    nuevafila = nuevafila + "<td class='Borde-'>" + data+list[j] + "</td>"; 
                }
                nuevafila = nuevafila + "</tr>";
            });
            $('#'+nomtab+' tr:eq(1)').after(nuevafila);
        });
    });
}

我想將這段代碼作為javascript的功能來運行,以便重用代碼。 對我不起作用的部分是每個部分:$。 每個(+ tipdat數據,函數(索引,數據){

其中“ datos”是帶有變量(設置和獲取)(codcli,名稱,apetat)的對象,我的意思是稱我為codcli:

   $. each (datos.codcli, function (index, data) {
}

但是這種方式是靜態的。 我想通過動態參數來完成。

那么問題是如何通過參數來成功實現? 還是您做不到? 會永遠有靜態嗎?

在上面的代碼中,我想做的是,但是顯然不起作用:

tipdat=".codcli"
   $. each (datos+tipdat, function (index, data) {
}

我認為您正在尋找括號符號。

var tipdat = "codcli";
$.each(datos[tipdat], function (index, data) {
    //...
});

是相同的:

$.each(datos.codcli, ...

如果您的字符串具有多個屬性,我將執行以下操作:

var tipdat = "codcli.cod";

var objToIterate = datos;
var parts = tipdate.split('.');

for(var i = 0; i< parts.length; i++) {
    objToIterate = objToIterate[parts[i]];   
}

$.each(objToIterate, function (index, data) {
    //...
});

暫無
暫無

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

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