JavaScript禁用未选中的复选框
问题描述:
我有n个复选框,如果我选中了一个复选框,它必须选中复选框的所有相似值,而其他复选框应该禁用。JavaScript禁用未选中的复选框
任何一个可以帮我解决这个问题
我有选择的类似值选择Java脚本
<script type='text/javascript'>
(function()
{
var allInps = document.getElementsByTagName('input'), allCb = [];
for(var i in allInps)
if(allInps[ i ].type === 'checkbox')
{
allCb.push(allInps[ i ]);
allInps[ i ].onclick = likeMe;
}
function likeMe()
{
for(var i in allCb)
if(allCb[ i ] !== this && allCb[ i ].value === this.value)
allCb[ i ].checked = this.checked;
}
})();
</script>
请帮帮忙!不需要
答
这些行: (函数() { 和这一行: })();
要禁用复选框,checkbox.disabled = true; (其中复选框是要禁用的元素)
在您的likeMe函数中,添加一个else语句,如果它们不相似,则禁用该复选框。
我认为这应该工作。这里是你的代码应该如何:
<script type='text/javascript'>
(function()
{
var allInps = document.getElementsByTagName('input'), allCb = [];
for(var i in allInps)
if(allInps[ i ].type === 'checkbox')
{
allCb.push(allInps[ i ]);
allInps[ i ].onclick = likeMe;
}
function likeMe()
{
for(var i in allCb)
if(allCb[ i ] !== this && allCb[ i ].id === this.id)
allCb[ i ].checked = this.checked;
else if (allCb[ i ].checked !== this.checked && allCb[ i ].id !== this.id)
{
allCb[ i ].setAttribute('disabled',true);
}
else {
allCb[ i ].removeAttribute('disabled');
}
}
})();
我认为它会解决它。