JQuery在ajax post结果上隐藏表行

时间:2015-06-24 10:51:26

标签: javascript jquery ajax

我有以下代码。它应该在onClick函数成功时隐藏一行。不幸的是它只是没有隐藏任何东西。我在SO上看过这个问题,试过没有效果的解决方案。

<script type="text/javascript">
    function deleteMsg(row,msgId) {
        //window.alert("deleteMsg(" + msgId + ")");
        $.ajax({
            type: "POST",
            url: "http://localhost:8080/ArcheryScoresV3/profile.jsp",
            data: { cmd:"delete_msg",
                s_token:"dn1ejdmj0dkmgerbm481adkjt0",
                message: msgId },  
            dataType: "json",
            success: function(msg, status, jqXHR){
                if(msg.success == "true") {
                window.alert("successfull, hiding " + row.id);
                //$(this).parents("tr").hide();
                //$(row).hide();
                row.css("background-color", "red");
            } else {
                window.alert("unsuccessfull");
            }
            },            
            error: function(xhr,status,error){
                window.alert("error, status:" + error);
            }
        });
    }
    </script>
     <tr id="row1">
        <td><span onClick="deleteMsg($('row1'),'0ed71375-226e-49ae-aa14-00fbb1f7ed11');" 
                  class="glyphicon glyphicon-trash">
            </span>
        </td>
    </tr>

显示成功警报,因此代码正在执行但我从未看到任何消失甚至改变颜色。所有评论的变体都没有成功。必须有一些基本的误解..

2 个答案:

答案 0 :(得分:1)

你的选择器错了。 onclick = "deleteMsg($('#row1'),)“ 你忘了小'#'

答案 1 :(得分:0)

您只需在Jquery选择器中添加#

<tr id="row1">
    <td>
        <span onClick="deleteMsg($('#row1'),'0ed71375-226e-49ae-aa14-00fbb1f7ed11');" 
            class="glyphicon glyphicon-trash">
        </span>
   </td>
</tr>

然后,您可以在row.hide();函数中使用success来隐藏块(而不是像您尝试的那样$(row).hide();