Javascript jquery checbox(用作产品比较列表)
我是Jquery新手,我正在努力解决以下问题:;我有一个产品列表,我想将其添加到比较列表中。用户选择产品(复选框),值存储在数组中并显示在div中 我很难做到以下几点:Javascript jquery checbox(用作产品比较列表),javascript,jquery,html,Javascript,Jquery,Html,我是Jquery新手,我正在努力解决以下问题:;我有一个产品列表,我想将其添加到比较列表中。用户选择产品(复选框),值存储在数组中并显示在div中 我很难做到以下几点: 限制chckArray仅存储2个值(2个产品),或限制用户选中2个以上复选框 默认情况下,Divcontainer是隐藏的,当所有复选框都未选中时,在复选框上单击显示(如果数组不为null)(删除数据追加) 在Div中显示两个选定项目的值(产品ID) 如有任何提示,敬请谅解。 HTML // checkboxes from
- 限制
仅存储2个值(2个产品),或限制用户选中2个以上复选框chckArray
- 默认情况下,Div
是隐藏的,当所有复选框都未选中时,在复选框上单击显示(如果数组不为null)(删除数据追加)container
- 在Div
中显示两个选定项目的值(产品ID)
// checkboxes from loop
<input type="checkbox" value="<?php echo $res['id'];?>" class="bottomRight" id="<?php echo $res['id'];?>" title="Compare" style="float:left;" />
<div id="container" style="display:none;">
<p>You have added :</p>
<ul>
<li>First Checkbox Value</li>
<li>Second Checkbox Value</li>
</ul>
</div>
您可以通过禁用剩余的not
:checked,将chckArray限制为仅存储2个值:
var n = $('input[type=checkbox]:checked').length >= 2;
$('input[type=checkbox]').not(':checked').attr('disabled',n);
如果chkArray
不为空,则显示
容器,如果为空,则隐藏并删除列表:
if(chkArray.length !== 0){
$('#container').show();
}else{
$('#container').hide();
$('#container > ul').html('');
}
将所选复选框显示为
:
$.each(chkArray, function(i, val) {
$('<li>').text(chkArray[i]).appendTo('#container > ul');
});
$。每个(chkArray,函数(i,val){
$(“”).text(chkArray[i]).appendTo(“#container>ul”);
});
您好,马克,这正是我想要实现的目标。谢谢你的帮助!!一个简单的问题,在PHP中,当传递数组或需要打印数组值时,应该是echo$chkArray[0];echo$chkArray[1](在本例中,前两个值)在Jquery中有多大不同?chkArray.toString();但是,如何实现第一和第二价值观呢?或者将其作为Post传递给PHP。如果你在那里给我任何提示。。再次感谢!如果要转换数组的一项toString()
,只需指定索引chkArray[1].toString()代码>。如果要将数组传递给PHP,可以使用JSON,它是一种数据交换语言。首先需要对数组进行编码JSON.stringify(chkArray)
,然后在PHP端对其进行解码$chkArray=JSON\u decode($\u POST['jsondata'])代码>
$.each(chkArray, function(i, val) {
$('<li>').text(chkArray[i]).appendTo('#container > ul');
});