如何使用'
获取jquery值$.ajax({
type: "POST",
url: "ef_StdInfo_todb.php",
data: formVals(),
success: function(data, msg){
$(this).parent().parent().html(data);
$(this).parent().parent().('#status_Div").text(msg);
}
” 什么都没发生。但如果我把直接div名称$(“anydiv”)而不是父,父行。然后出现值。 出了什么问题
答案 0 :(得分:2)
$(this).parent().parent().('#status_Div").text(msg);
此行不正确。在第二次调用find()
后,您可能需要parent()
。您还在同一个字符串中使用'
和"
作为分隔符。那不行。选择其中一个并保持一致。
$(this).parent().parent().find('#status_Div').text(msg);
此外,您可以使用带有选择器字符串的closest()
来访问父节点,直到一个与选择器匹配。避免多次调用parent()
会很有用。
答案 1 :(得分:2)
Alex指出的选择器是正确的,但不知道你如何调用$.ajax()
我将做出一些假设。
$.ajax({
type: "POST",
url: "ef_StdInfo_todb.php",
data: formVals(),
success: function(data, msg) {
$(this).parent().parent().find('#status_Div').text(msg);
}
});
this
将引用您的xhr
对象,而不是您点击或触发$.ajax
的元素,这可以解释您的成功通话失败的原因。
如果通过.click()
调用,只需创建一个变量来存储单击的元素。
$(":button").click(function() {
var $that = $(this);
$.ajax({
type: "POST",
url: "ef_StdInfo_todb.php",
data: formVals(),
success: function(data, msg) {
$that.parent().parent().html(data);
$('#status_Div').text(msg);
}
});
});
旁注,因为您通过id
查询,只需致电$('#status_Div').text(msg)
而无需担心.parent()
<强> Example on jsfiddle 强>
答案 2 :(得分:1)
亚历克斯是对的。无论如何,$(this).parent().parent().html(data);
将替换parent()。parent()中存在的任何内容,因此只有在#status_Div
中包含data
时才能找到{{1}}。我是对的吗?