我试图阻止用户选择超过四个具有toggleClass和附加长度的免费座位,但无法实现这一目的,也没有找到适用的解决方案。谢谢。
JSfiddle
https://jsfiddle.net/xgrorxnp/1/
的HTML
<td class='n' id='1_A'>T</td>
<td class='n' id='1_B'>F</td>
<td class='n' id='1_C'>T</td>
<td class="row_num">1</td>
<td class='n' id='1_D'>T</td>
<td class='n' id='1_E'>F</td>
<td class='n' id='1_F'>T</td>
我的尝试
$('.n:contains(\'F\')').click(function(){
var $this = $(this);
$(this).toggleClass('selected', !$this.hasClass('selected') &&
$('.n:contains(\'F\') .selected').length < 4);
});
问题是选择器中的空间$('.n:contains(\'F\') .selected')
,它试图匹配.n
具有反扫描的元素.selected
,而不是.n
具有.selected
className
自身的元素
尝试替代
$('.n:contains(\'F\').selected', this.parentElement)
为了
$('.n:contains(\'F\') .selected').length < 4);
例如;
$(this).toggleClass('selected', !$this.hasClass('selected') &&
$('.n:contains(\'F\').selected', this.parentElement).length < amount);
其中this.parentElement
是context
相匹配,或者parentElement
:tr
点击的的元件td
元件
jsfiddle https://jsfiddle.net/xgrorxnp/3/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句