我试图根据“价格”的类类型来更改第三个tr
,同时使用同一复选框将父addClass
更改为从隐藏显示。
相当确定在这里没有使用removeClass
和$(document).ready(function() {
$("input[type=checkbox]").change(function()
{
var divId = $(this).attr("id");
if ($(this).is(":checked")) {
$("." + divId).show();
$("." + addClass).countable();
}
else {
$("." + divId).hide();
$("." + removeClass).countable();
}
});
});
。
<input class="my-activity" type="checkbox" value="42"> example<br/>
<input class="my-activity" type="checkbox" value="43"> example<br/>
以下是复选框:
</tr><tr class="42" style="display:none">
<td>example</td>
<td></td>
<td></td><td class="price">7800</td></tr><tr class="43" style="display:none">
<td>First Area</td>
<td></td>
<td></td><td class="price">6900</td></tr>
这是我要更新的表的一部分:
for
我们非常感谢您的帮助。
答案 0 :(得分:2)
似乎您想使用输入的值来生成类选择器,但是您正在使用输入的ID,addClass
和removeClass
也是您在{{ 1}}对象。这是我想您尝试做的一个例子:
jQuery
$(document).ready(function() {
$("input[type=checkbox]").change(function() {
var val = $(this).val();
var isChecked = $(this).is(":checked");
var $trElement = $('.' + val);
var $tdPriceElement = $trElement.find('td.price');
$trElement.toggle(isChecked);
$tdPriceElement.toggleClass('countable', isChecked);
});
});
.countable {
color: blue;
}
.toggle(...)
函数根据作为参数传递的布尔值显示/隐藏元素,.toggleClass(..)
函数根据作为第二参数传递的布尔值添加/删除类名。 / p>
如@zfrisch所述,由于似乎每一行都有其自己的类名(42、43 ...),因此您可能应该使用ID。