[英]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.