我正在尝试将在检查时更改 tr 类的 JQuery 转换为在按钮获取名为“活动”的类时更改 tr 类的 JQuery。我是一个 JQuery/Javascript 新手,我很茫然。
对于那些认为它是重复的人,我试图检测类并失败了(下面更新了代码)。
原始代码(有效)
javascript:
var $input_class = $('.addCheckbox');
function setClass() {
var tr = $(this).closest( "tr" );
if ($(this).prop('checked') == true){
tr.addClass( "highlight" );
}
else{
tr.removeClass( "highlight" );
}
}
for(var i=0; i<$input_class.length; i++) {
$input_class[i].onclick = setClass;
}
我可怕的尝试(在下面更新......不再是这个)
javascript:
var $input_class = $('.btn-group .btn-toggle .btn');
function setClass() {
var tr = $(this).closest( "tr" );
if ($(this).prop('.btn-success .active')){
tr.addClass( "highlight" );
}
else{
tr.removeClass( "highlight" );
}
}
for(var i=0; i<$input_class.length; i++) {
$input_class[i].onclick = setClass;
}
我正在使用 Bootstrap Switch 插件,它将复选框转换为切换 http://www.bootstrap-switch.org/
转换后的 html 如下所示:
<tr>
<td width="15px"><input class="addCheckbox" type="checkbox" value="true" style="display: none;">
<div class="btn-group btn-toggle" style="white-space: nowrap;">
<button class="btn active btn-success btn-md" style="float: none; display: inline-block; margin-right: 0px;">YES</button>
<button class="btn btn-default btn-md" style="float: none; display: inline-block; margin-left: 0px;"> </button>
</div>
</td>
<td width="85px">May 2016</td><td class="restaurant-name">
Joe's Crab Shack
</td>
<td class="text-center">
#my table info
</td>
</tr>
更新!!!根据“重复”的建议。
在查看了这个问题(这很有帮助)之后,我已经将我的代码更改为这个,但我仍然无法让它工作。我想知道是否很难找到确切的输入类?因为插件将复选框转换为 html,所以我不能(或不知道如何)为按钮设置特定的名称或 ID。
javascript:
var $input_class = $('.btn');
var tr = $(this).closest( "tr" );
function checkForChanges()
{
if ($('.btn').hasClass('btn-success'))
tr.addClass( "highlight" );
else
tr.removeClass( "highlight" );
}
for(var i=0; i<$input_class.length; i++) {
$input_class[i].onclick = checkForChanges;
}