我想從一個字符串變量像下面創建動態錶行進行動態錶行:如何通過jquery.each功能
var c = apple,mango,jackfruit,guava,orange;
var arr = c.split(',');
var trval='<tr>';
$.each(arr,function(index,value){
trval = trval+'<td>'+value+'</td>';
});
trval = trval+'</tr>';
在上面的例子中運作良好,並創建如下表行:
<tr>
<td>apple</td>
<td>mango</td>
<td>jackfruit</td>
<td>guava</td>
<td>orange</td>
</tr>
但如果任何表單元格需要一個特殊的加價,如需要爲紅色,則錶行應該是:
<tr>
<td>apple</td>
<td style="color:red">mango</td>
<td>jackfruit</td>
<td>guava</td>
<td>orange</td>
</tr>
然後陣列應該是:
var c = apple,["style='color:red'","mango"],jackfruit,guava,orange;
這裏的style='color:red'
是可選的。即它可能會或可能不在那裏。 所以,我必須以這樣的方式遍歷var c
,它將搜索arr
中的單個值是否是變量。如果它是可變的,那麼它會迭代該數組(在這種情況下,["style='color:red'","mango"]
)以創建該表格單元格及其可選標記。該字符串中的這個可選數組是動態的,它可以用於該字符串的任何元素,或者甚至沒有對於
那些元素。如何讓jquery.each代碼在這種情況下?
是否明智的jQuery Ajax請求從一個PHP頁面發送大量陣列的另一個?如果我想在jquery post響應中發送500行的整個表,這將更快,數組由json encode或string concatenation? –
我不知道這是如何與您的原始問題相關的,但通常會跳過任何編碼(並在另一端進行解碼),並且發送較少的數據會更快。然而,與使用JSON等標準數據傳輸模型時得到的穩定性和可維護性相比,500行的差異可以忽略不計。你可以閱讀更多關於這裏的好處:http://stackoverflow.com/questions/383692/what-is-json-and-why-would-i-use-it – omerkarj