我有以下代码。它应该在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>
显示成功警报,因此代码正在执行但我从未看到任何消失甚至改变颜色。所有评论的变体都没有成功。必须有一些基本的误解..
答案 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();
)