我有以下脚本,它的行为方式与我期望的不同:
success: function( widget_shell )
{
if( widget_shell.d[0] ) {
for ( i = 0; i <= widget_shell.d.length - 1; i++ ) {
$( ".column_" + widget_shell.d[i].column_id ).append( "<div class='widget_" + widget_shell.d[i].widget_id + "'>" );
$( ".widget_" + widget_shell.d[i].widget_id ).append( "<div class='widget_content_" + widget_shell.d[i].widget_id + "'>" );
$( ".widget_" + widget_shell.d[i].widget_id ).append( "</div>" );
$( ".column_" + widget_shell.d[i].column_id ).append( "</div>" );
}
}
这会产生这样的 HTML:
<div id="divMain">
<div class="column_1 ui-sortable">
<div class="widget_9">
<div class="widget_content_9"></div>
<div class="widget_content_9"></div>
</div>
</div>
<div class="column_2 ui-sortable">
<div class="widget_9">
<div class="widget_content_9"></div>
</div>
</div>
<div class="column_3 ui-sortable">
<div class="widget_58">
<div class="widget_content_58"></div>
</div>
</div>
</div>
当 JSON 数据如下所示时:
{
"d": [
{
"__type": "Widget_Shell",
"column_id": 1,
"widget_id": 9
},
{
"__type": "Widget_Shell",
"column_id": 2,
"widget_id": 9
},
{
"__type": "Widget_Shell",
"column_id": 3,
"widget_id": 58
}
]
}
所以基本上,基于 JSON 数据,我应该每列只看到 1 个小部件,这很好,但由于某种原因,我最终在第一列小部件中有 2 个内容......
知道为什么吗?