我正在尝试更新选择器的父CSS类。这是我的代码表
<div class="container">
<table class="table table-hover">
<tr class="table-default">
<td><input type="checkbox" id="driver[0]" value="log.example.com"></td>
<td>log.example.com</td>
</tr>
<tr class="table-default">
<td><input type="checkbox" id="driver[1]" value="api.example1.com"></td>
<td>api.example1.com</td>
</tr>
<tr class="table-default">
<td><input type="checkbox" id="driver[2]" value="mail.example.com"></td>
<td>mail.example.com</td>
</tr>
</table>
</div>
这就是我用来检查布尔条件的内容
$(document).ready(function() {
$("input[type='checkbox']").click(function(event){
if($(this).is(':checked')){
var domain = $(this).val();
//alert(domain);
$.getJSON('call.php?submit=submit&domain='+domain, function (data) {
var result = data.is_vuln;
console.log(result);
if(result == "true"){
console.log("line executed"); // Executes
$(this).parent().parent().addClass("table-success");
}
});
}
});
});
我正在尝试完成以下操作,如果通过json返回的布尔条件为true
,则应将行的类更改为table-success
。
但是我在这里没有运气。除了true
和false
从json返回之外,控制台中什么都没有。
答案 0 :(得分:3)
好像您的getJSON函数中的this
变量已更改范围。尝试将this
绑定到$ .getJSON函数中,如下所示:
$.getJSON('call.php?submit=submit&domain='+domain, function (data) {
var result = data.is_vuln;
console.log(result);
if(result == "true"){
$(this).parent().parent().addClass("table-success");
}
}.bind(this));
答案 1 :(得分:1)
[
[(12,12,12), (13,13,13), (14,14,14), (15,15,15)],
[(65,65,65), (66,66,66), (54,54,54), (12,12,12)],
[(34,34,34), (77,77,77), (88,88,88), (33,33,33)],
[(56,56,56), (0,0,0), (0,0,0), (0,0,0)]
]
范围将在ajax调用范围中更改。您可以将this
设置为变量,并可以如下使用它:
this
希望它对您有帮助。