jquery datatable fnUpdate还是fnDraw?

时间:2014-11-26 17:36:10

标签: javascript jquery datatables

我有第6列是一个按钮(启用或禁用取决于第二列),当我按下时 启用按钮第2列和第6列都应该更改,这是我做的:

<tbody>
        <logic:iterate id="mdataenv" name="metadataEnvList">
            <tr  id='<bean:write name="mdataenv" property="interfaceEnvironment"/>'>
                <td><bean:write name="mdataenv" property="interfaceEnvironment"/></td>
                <td><bean:write name="mdataenv" property="disabled"/></td> 
                <td><bean:write name="mdataenv" property="creatorName"/></td>                 
                 <td class="center"><ichtml:dtfmt vDate="${mdataenv.createdAt}"/></td>
                <td><bean:write name="mdataenv" property="updaterName"/></td>
                 <td class="center"><ichtml:dtfmt vDate="${mdataenv.updatedAt}"/></td>

                  <logic:equal value="T" name="mdataenv" property="disabled" >
                     <td class="center">
                        <html:link href="JavaScript:void()"  styleClass="button enable" style="margin:10px;margin-right:30px;">Enable</html:link>
                     </td>
                  </logic:equal>
                 <logic:notEqual value="T" name="mdataenv"  property="disabled" >
                     <td class="center">
                        <html:link href="JavaScript:void()"  styleClass="button delete" style="margin:10px;margin-right:30px;">Disable</html:link>
                     </td> 
                 </logic:notEqual>

            </tr>
        </logic:iterate> 
   </tbody>

JS代码:

 $('#saiMdataEnvListTable .enable').on('click', function() {  
    var ans = confirm("Do you want to enable this Environment?");
    if(ans==true){
        var nRow = $(this).parents('tr')[0];
        alert(nRow.id);
          var target_row = $(this).closest("tr").get(0); 
           var aPos = oTable.fnGetPosition(target_row); 
            alert(aPos);
            oTable.fnUpdate('F',aPos,1);
            oTable.fnUpdate('<td class="center"><html:link href="JavaScript:void()"  styleClass="button delete" style="margin:10px;margin-right:30px;">Disable</html:link></td> ',aPos,6);
            alert("After fnUpdate .........");

        $.ajax({
            url: "enableEnv.do",
            data: "env=" + nRow.id + "&flagt=" + "F",
            success: function(response) {
               toastr.success(response.message);  
            }
        })
        // oTable.fnDraw();

    }
}); 

一切正常,但是第6列中的按钮没有使用类按钮和删除呈现,这里是一张照片: http://s7.postimg.org/pmct9yah7/disable.png

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

<html:link>是服务器端标记。在发送给客户端之前,它将被转换为不同的html元素,在本例中为<a>

由于您正在创建客户端元素,因此您需要使用<a>标记。此外,styleClass呈现为class

oTable.fnUpdate('<td class="center"><a href="JavaScript:void()" class="button delete" style="margin:10px;margin-right:30px;">Disable</a></td> ',aPos,6);