请查看jsfiddle http://jsfiddle.net/6fsf8/
如果选中复选框,则只需要将其附加到div,如果未选中,则需要将其从div中删除。
我试过这个,但它会继续将它附加到div。
if($(this).is(':checked'))
{
$("#fororders").append($(this).attr('value'));
}
还有可能我应该在垂直顺序而不是水平顺序中显示它们,同时将它附加到div。
您需要展开所有Accordians以查看复选框。 能告诉我如何解决这个问题
答案 0 :(得分:1)
你的元素是追加的,因为你不能删除它。
尝试类似:
if($(this).is(':checked'))
{
$("#fororders").append('<div id="something">'+$(this).attr('value')+'</div>');
}else{
$('#something').remove();
}
要垂直显示元素,请添加css属性display:block;
这是一些基础CSS,你不应该在这里问这个。
答案 1 :(得分:0)
if(this.checked)
{
$("#fororders").append($(this).attr('value'));
}
而不是点击,您可以使用更改事件:
$(document).on("change", ":checkbox", function (e) {
if(this.checked)
{
$("#fororders").append($(this).attr('value'));
}
});
答案 2 :(得分:0)
您必须从#fororders
div中删除该项目。看看这个fiddle
答案 3 :(得分:0)
您需要将文本包装在元素中,然后附加该元素。这样您就可以更轻松地按id
定位它,以便以后能够删除它:
演示:http://jsfiddle.net/abhitalks/6fsf8/3/
$(document).on("click", ":checkbox", function (e) {
var v = $(this).val(); // cache the value
if ($(this).is(':checked')) {
// create a span with the same id as value and append it
$("#fororders").append( $("<span>").attr("id", v).text(v) );
} else {
// target the span with the same id as value and remove it
$("#fororders").find("span#" + v).remove();
}
});