我正在系统地尝试给我的应用程序一种禁用和启用输入组的方式,即根据输入组是否有输入内容。我开始在jFiddle中如何做到这一点,但我目前陷入困境。如果另一个输入组输入了数据,则禁用输入组
问题是我无法让它在多个组上工作..在一个组上工作正常。
这是我jFiddle和代码:
<div class="one_or_other">
<h1>Some Input Group</h1>
<p class="ooo_group_1">
<input type="text" data-disable='["ooo_group_2","ooo_group_3"]' />
<input type="text" data-disable='["ooo_group_2","ooo_group_3"]' />
</p>
OR
<p class="ooo_group_2">
<input type="text" data-disable='["ooo_group_1","ooo_group_3"]' />
<input type="text" data-disable='["ooo_group_1","ooo_group_3"]' />
</p>
OR
<p class="ooo_group_3">
<input type="text" data-disable='["ooo_group_1","ooo_group_2"]' />
<input type="text" data-disable='["ooo_group_1","ooo_group_2"]' />
</p>
</div>
<div class="one_or_other">
<h1>Some Other Input Group</h1>
<p class="ooo_group_1">
<input type="text" data-disable='["ooo_group_2","ooo_group_3"]' />
<input type="text" data-disable='["ooo_group_2","ooo_group_3"]' />
</p>
OR
<p class="ooo_group_2">
<input type="text" data-disable='["ooo_group_1","ooo_group_3"]' />
<input type="text" data-disable='["ooo_group_1","ooo_group_3"]' />
</p>
OR
<p class="ooo_group_3">
<input type="text" data-disable='["ooo_group_1","ooo_group_2"]' />
<input type="text" data-disable='["ooo_group_1","ooo_group_2"]' />
</p>
</div>
和
$('.one_or_other').each(function() {
block = $(this);
block.find('input').keyup(function() {
if(this.value.length !== 0) {
json = $(this).data('disable');
$.each(json, function(i,item) {
block.find('.' + item + ' input').prop('disabled',true).addClass('disabled');
});
} else {
block.find('input').prop('disabled',false).removeClass('disabled');
}
});
});
不幸的是这不会工作。如果你在第一组中输入了一些东西,它也会在第二组中禁用它。 – Roeland
这听起来像你想要的。 “问题是我无法使它在多个组上工作......在一个组上工作正常。” 你在找什么? –
当我有一组单独的输入时,清除不相关组中的输入不应清除其他组上的禁用。我想我只是不解释自己:(:( – Roeland