JQuery在ajax发布结果时隐藏表行
JQuery Hide table row on ajax post result
我有以下代码。它应该在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>
成功的警报出现了,所以代码正在执行,但我从未看到任何东西消失,甚至变色。所有评论的变体都尝试过,但都没有成功。肯定有一些基本的误解。。
您的选择器错误。onclick = "deleteMsg($('#row1')
,)"您忘记了小的"#"
您只需要在Jquery选择器中添加#
:
<tr id="row1">
<td>
<span onClick="deleteMsg($('#row1'),'0ed71375-226e-49ae-aa14-00fbb1f7ed11');"
class="glyphicon glyphicon-trash">
</span>
</td>
</tr>
然后,您可以在success
函数中使用row.hide();
来隐藏块(而不是像您尝试的那样使用$(row).hide();
)
相关文章:
- 仅在第一个结果中显示/隐藏MySQL结果函数
- 在php中隐藏/显示切换回声结果
- 在HTML中隐藏/显示表单会产生异常结果
- 在没有数据源结果的情况下隐藏BIRT中的网格/表
- 自动选择顶部的自动完成结果到隐藏输入中
- 隐藏的“纬度”和“lng”字段没有被删除,所以我的脚本仍在从不正确的地理位置中搜索纬度和液化天然气结果
- 如何隐藏搜索结果框,我希望它们在点击并激活键控功能时显示
- 如何使用 jQuery 将变量从隐藏字段发送到远程 PHP 文件,并在引导模式中显示脚本的结果,而无需刷新
- 安全地向用户隐藏jQuery结果
- 单击将结果传递到每个q的隐藏字段
- 如何显示/隐藏基于“|过滤器”;结果在AngularJS中
- 当不隐藏时,只显示sql的第一个结果
- 隐藏sql结果列并显示下面的表onClick
- 创建一个javascript msgbox (YES/NO)并在代码隐藏中获得结果
- 带有AngularUI引导分页指令的AngularJS不会隐藏结果
- (ASP.隐藏JAVASCRIPT调用c#方法的结果
- jQuery克隆元素,然后用连接的结果填充隐藏字段,以避免空列表问题
- 用Angular过滤器突出显示搜索结果,隐藏不匹配的文本
- JQuery在ajax发布结果时隐藏表行
- 清除输入文本时如何隐藏 ajax 搜索结果