我需要帮助编写我需要执行的自定义函数。
概念很简单:我向客户提供了大约20种产品的列表,然后我要求他们使用复选框从整个列表中选择5种产品。
虽然他们确实选择了产品,但它需要更新隐藏的输入,以便我能够将其插入我的数据库中。
我们可以从这样的事情开始:http://jsfiddle.net/9mxh5/但它只需要工作,所以我只能选择一些复选框。
以下是我们可以使用的一些代码
<input type="checkbox" name="products" value="product1" onChange="javascript:updateProducts();"/>
<input type="checkbox" name="products" value="product2" onChange="javascript:updateProducts();"/>
<input type="checkbox" name="products" value="product3" onChange="javascript:updateProducts();"/>
<input type="checkbox" name="products" value="product4" onChange="javascript:updateProducts();"/>
<!-- Hidden -->
<input type="hidden" name="myFiveProducts" value="THELIST" />
我在那里使用了jsfiddle,并按照我的意愿进行调整:http://jsfiddle.net/ENxnK/15/
提前帮助你。
答案 0 :(得分:0)
我给了条件3.您可以将其更改为5,我认为您可以自己分配隐藏变量。如果我不能让我知道。我会更新它
<script type="text/javascript">
var i=0;
function updateProducts(myid)
{
if(document.getElementById(myid).checked==true)
{i=i+1;
if(i==3)
{
document.getElementById("products1").disabled="disabled";
document.getElementById("products2").disabled="disabled";
document.getElementById("products3").disabled="disabled";
document.getElementById("products4").disabled="disabled";
}
}
else
i=i-1;
}
</script>
<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>
答案 1 :(得分:0)
@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>