我有一个n号复选框,如果我勾选了一个复选框,则必须选中复选框的所有相似值,另一个复选框应该被禁用。
任何人都可以帮我解决问题
我有一个用于选择类似值选择的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>
请帮助!
答案 0 :(得分:0)
不需要这些行: (功能() { 这一行: })();
要禁用复选框,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');
}
}
})();
我认为它会解决它。