@polin
我找到了一种方法来做我想做的事,但这不是很优化..
我正在使用 Class 来确定是否检查了哪个。然后我只是确保它没有类禁用它。
只需要更好的代码:D
javascript
var i = 0;
function updateProducts(myid)
{
if(document.getElementById(myid).checked == true)
{
// Add a class to the element
document.getElementById(myid).className = "classCheck";
i = i + 1;
// If I got my maximum
if(i == 3)
{
if(!$('#products1').hasClass('classCheck'))
{
document.getElementById("products1").disabled="disabled";
}
if(!$('#products2').hasClass('classCheck'))
{
document.getElementById("products12").disabled="disabled";
}
if(!$('#products3').hasClass('classCheck'))
{
document.getElementById("products3").disabled="disabled";
}
if(!$('#products4').hasClass('classCheck'))
{
document.getElementById("products4").disabled="disabled";
}
}
}
else
{
document.getElementById(myid).className = "";
i = i - 1;
// If I'm not at the maximum
if(i < 3)
{
// I can switch them all enable
$('#products1').removeAttr('disabled');
$('#products2').removeAttr('disabled');
$('#products3').removeAttr('disabled');
$('#products4').removeAttr('disabled');
}
}
}
的HTML
<div id="mydiv">
<input type="checkbox" id="products1" value="product1" onChange="javascript:updateProducts(this.id);"/>
<input type="checkbox" id="products2" value="product2" onChange="javascript:updateProducts(this.id);"/>
<input type="checkbox" id="products3" value="product3" onChange="javascript:updateProducts(this.id);"/>
<input type="checkbox" id="products4" value="product4" onChange="javascript:updateProducts(this.id);"/>
</div>